跳轉到內容

正則表示式

來自華夏公益教科書,開放的書籍,開放的世界

導航 高階 主題: v  d  e )


java.util.regex 包提供的 正則表示式 (regex)。

Pattern 類提供 matches 函式,如果在字串中找到表示式則返回 true

例如,此指令碼返回已知詞語之前的未知詞語

import java.util.regex.Pattern;
public class Regex {
	public static void main(String[] args) {
		String s = "Test Java regex for Wikibooks.";
		System.out.println(Pattern.matches("[a-z]* Wikibooks",s));
    }
}
// Displays: "for Wikibooks"


Matcher 類允許使用不同的方法獲取給定表示式的所有匹配項

  1. find():查詢下一個結果。
  2. group():顯示結果。

例如,此指令碼顯示 HTML b 標籤的內容

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Regex {
	public static void main(String[] args) {
		String s = "Test <i>Java</i> <b>regex</b> for <b>Wikibooks</b>.";
		Pattern p = Pattern.compile("<b>([^<]+)</b>");
		Matcher m = p.matcher(s);
		while(m.find()) {
			System.out.println(m.group());
			System.out.println(m.group(1));
		}
	}
}
/* Displays:
 <b>regex</b>
 regex
 <b>Wikibooks</b>
 Wikibooks
*/
華夏公益教科書