1.java正则表达式
\\d表示数字 \\d+表示一到多个数字 \\d*表示匹配一个数字零次或者多次 \\d?匹配一个数字零次或一次
\w 等价于[A-Za-z0-9] \W等价于[^A-Za-z0-9]
\s 匹配任何空白字符 等价于[\f\n\r\t\v] \S 匹配任何非空白字符 等价于[^\f\n\r\t\v]
\d 匹配一个数字 \D匹配一个非数字
\b匹配一个字边界,即字与空格间的位置。例如,"er\b"匹配"never"中的"er",但不匹配"verb"中的"er" \B 非字边界匹配。"er\B"匹配"verb"中的"er",但不匹配"never"中的"er"。
[a-z]字符范围。匹配指定范围内的任何字符。例如,"[a-z]"匹配"a"到"z"范围内的任何小写字母。 [^a-z]反向范围字符。匹配不在指定的范围内的任何字符。例如,"[^a-z]"匹配任何不在"a"到"z"范围内的任何字符。
. 匹配除"\r\n"之外的任何单个字符。
[\s\S] 若要匹配包括"\r\n"在内的任意字符,
2.java正则表达式实例
importjava.util.regex.Matcher;importjava.util.regex.Pattern;public classRegexMatches
{public static voidmain( String args[] ){//按指定模式在字符串查找
String line = "This order was placed for QT3000! OK?";
String pattern= "(.*)(\\d+)(.*)";//创建 Pattern 对象
Pattern r =Pattern.compile(pattern);//现在创建 matcher 对象
Matcher m =r.matcher(line);if(m.find( )) {
System.out.println("Found value: " + m.group(0) );
System.out.println("Found value: " + m.group(1) );
System.out.println("Found value: " + m.group(2) );
}else{
System.out.println("NO MATCH");
}
}
}