java正则表达式匹配字符串
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class java正则表达式 {
public static void main(String[] args) {
//1.字符串与正则表达式直接匹配
//字符串
String s1="hello",s2="world",s3="alanqiao";
//正则表达式
String pattern="[^(a|e|o|u)]+[a|e|o|u]+[^(a|e|o|u)]+[a|e|o|u]+";
System.out.println("字符串"+s3+"与模式"+pattern+"是否匹配?"+Pattern.matches(pattern, s3));
System.out.println("----------------");
//2.正则表达式的捕获组
//正则表达式加上了括号,一个括号一组
String patt="([^(a|e|o|u)]+)([a|e|o|u]+)([^(a|e|o|u)]+)([a|e|o|u]+)";
Pattern p=Pattern.compile(patt);
Matcher m=p.matcher(s3);
//打印捕获组的数量
System.out.println("count="+m.groupCount());
if (m.find( )) {
//注:下标为0的捕获组是完整的匹配字符串
for(int i=0;i<=m.groupCount();i++) {
//打印捕获组在字符串中的下标
System.out.println("start="+m.start(i));
//打印捕获组
System.out.println("匹配串:"+m.group(i));
System.out.println();
}
} else {
System.out.println("NO MATCH");
}
}
}