跳转到内容

正则表达式

来自维基教科书,开放的书籍,开放的世界

导航 高级 主题: 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
*/
华夏公益教科书