1、使用 java.util.regex.Pattern 类的 compole(表达式) 方法把正则表达式变成一个对象。
//表达式对象:1个数字和1个字母连续 Pattern pattern = Pattern.compile("\\d[a-z]");
2、通过Pattern 对象获取java.util.regex.Matcher 类对象,使用Matcher对象进行相应匹配操作。
//匹配器,指定要解析的字符串datas Matcher matcher = pattern.matcher(datas);
常用方法:
matches():判断整个字符串是否符合表达式对象。
matcher.find():判断是字符串中是否存在下一个符合要求的字符串。
group():返回在上一次匹配操作期间由给定组捕获的输入子序列。无参时默认为0,即第1组捕获组,若参数为1,则为第2组捕获组。
replaceAll(String str);使用指定字符串替换符合表达式的字符。
3、String类中的 split (String str)方法,支持参数为正则表达式。
测试:
public class Client { public static void main(String[] args) { //要处理的字符串 String datas = "111aaa222bbb333ccc"; System.out.println("待处理字符串:"+datas); //表达式对象:1个数字和1个字母连续 Pattern pattern = Pattern.compile("\\d[a-z]"); //匹配器,指定要解析的字符串datas Matcher matcher = pattern.matcher(datas); //判断整个字符串是否符合表达式对象 System.out.println("整个字符串是否符合:"+matcher.matches()); //在字符串中寻找下一个符合要求的对象,有则返回true while (matcher.find()){ //取出匹配到的字符串 System.out.println("符合的:"+matcher.group());//group(1)表示正则中的()()第二个捕获组的内容,以此类推。 } //符合表达式的使用指定字符串替换替换 String end = matcher.replaceAll("A"); System.out.println("替换后:"+end); //分割字符串,使用正则表达式 String me = "love0dlove0alove"; String[] mes = me.split("0[a-z]"); for (String s:mes){ System.out.print(s); } } }
测试结果:
标签:Java,String,正则表达式,matcher,表达式,Pattern,使用,字符串,datas From: https://www.cnblogs.com/lurenjia-bky/p/16930792.html