java正则表达式匹配字符串

时间:2025-02-15 13:20:51
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"); } } }