分类
- 普通字符
- 非打印字符
- 特殊字符
- 限定符
Java正则表达式
java.util.regex包主要包括以下三个类:
-
Pattern类
pattern对象是一个正则表达式的编译表示。Pattern类没有公共构造方法。要创建一个Pattern对象,必须先调用其公共静态编译方法,它返回一个Pattern对象。该方法接受一个正则表达式作为它的第一个参数。 -
Matcher类:
Matcher对象事对输入字符串进行解释和匹配操作的引擎。和Pattern类一样,Matcher类也米有公共构造方法,需要调用Pattern对象的matcher方法来获得一个Matcher对象。 -
PatternSyntaxException:
PatternSyntaxException:是一个非强制的异常类,它表示一个正则表达式模式中的语法错误。
实例
下面的例子说明如何从一个给定的字符串中找到数字串:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexMatches
{
public static void main( 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");
}
}
}
以上实例编译运行结果如下:
Found value: This order was placed for QT3000! OK?
Found value: This order was placed for QT300
Found value: 0