Java中带有示例的模式compile()方法
java.regex包的模式类是正则表达式的编译表示。
此类的compile()方法接受表示正则表达式的字符串值,并返回Pattern对象。
示例
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CompileExample {
public static void main( String args[] ) {
//读取字符串值
Scanner sc = new Scanner(System.in);
System.out.println("Enter input string");
String input = sc.nextLine();
//查找数字的正则表达式
String regex = "(\\d)";
//编译正则表达式
Pattern pattern = Pattern.compile(regex);
//打印正则表达式
System.out.println("Compiled regular expression: "+pattern.toString());
//检索匹配器对象
Matcher matcher = pattern.matcher(input);
//验证是否发生匹配
if(matcher.find()) {
System.out.println("Given String contains digits");
} else {
System.out.println("Given String does not contain digits");
}
}
}输出结果
Enter input string hello my id is 1120KKA Compiled regular expression: (\d) Given String contains digits
此方法的另一个变体接受表示标志的整数值,其中每个标志指定一个可选条件,例如CASE_INSENSITIVE在编译正则表达式时忽略大小写。
示例
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CompileExample {
public static void main( String args[] ) {
//编译正则表达式
Pattern pattern = Pattern.compile("[t]", Pattern.CASE_INSENSITIVE);
//检索匹配器对象
Matcher matcher = pattern.matcher("Nhooo");
int count = 0;
while(matcher.find()) {
count++;
}
System.out.println("Number of matches: "+count);
}
}输出结果
Enter input string Nhooo Number of matches: 3
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短