美文网首页
java Matcher Pattern正则匹配

java Matcher Pattern正则匹配

作者: yichen_china | 来源:发表于2021-11-23 21:18 被阅读0次

Pattern p = Pattern.compile("ab"); ab 代表a出现一次到多次 后面跟个b Pattern.compile()方法获取正则表达式
Matcher m = p.matcher("aaaaab"); 调用方法matcher()传入一个字符串 返回一个Matcher 对象 获取匹配器
boolean b = m.matches(); 匹配器里面的 m.matches()方法,判断是否匹配 返回布尔类型
等同于:syso("aaab".matches("a*b"));

去除字符串中的空格\t、回车\n、换行符\r、制表符\t

public class StringUtils {
    public static String replaceBlank(String str) {
        String dest = "";
        if (str!=null) {
            Pattern p = Pattern.compile("\\s*|\\t|\\r|\\n");
            Matcher m = p.matcher(str);
            dest = m.replaceAll("");
        }
        return dest;
    }
    
    public static void main(String[] args) {
        System.out.println(StringUtils.replaceBlank("just do it!"));
    }
    /*-----------------------------------
 
    笨方法:String s = "你要去除的字符串";
 
            1.去除空格:s = s.replace('\\s','');
 
            2.去除回车:s = s.replace('\n','');
    这样也可以把空格和回车去掉,其他也可以照这样做。
 
    注:\n 回车(\u000a)
    \t 水平制表符(\u0009)
    \s 空格(\u0008)
    \r 换行(\u000d)*/
}

需求:把一个字符串中的手机号码获取出来

String s = "我的手机号码是:15555555555,曾经用过16688774488,还用过:17744859686";

String regex = "1[3-9]\\d{9}";     手机号码正则表达式

Pattern p = Pattern.compile("regex ");    

Matcher m = p.matcher(s);        

while(m.find){

  syso(m.group());      循环,获取到这个字符串中所有的手机号

}

boolean b = m.find()           从这个字符串中开始匹配,匹配到有手机号码的   返回true

String s11 = m.group();        从这个字符串中获取到手机号

相关文章

网友评论

      本文标题:java Matcher Pattern正则匹配

      本文链接:https://www.haomeiwen.com/subject/szkgtrtx.html