java正则表达式详解编程语言

String类三个和正则表达式相关的方法

public boolean matches(String regex) //判断字符串是否匹配给定的规则

举例:校验qq号码. 
    1: 要求必须是5-15位数字 
    2: 0不能开头 
代码演示: 
    String qq = "604154942"; 
    String regex = "[1-9][0-9]{4,14}"; 
    boolean flag2 = qq.matches(regex); 
 
举例:校验手机号码 
    1:要求为11位数字 
2:第1位为1,第2位为3、4、5、7、8中的一个,后面9位为0到9之间的任意数字。 
代码演示: 
    String phone = "18800022116"; 
    String regex = "1[34578][0-9]{9}"; 
    boolean flag = phone.matches(regex);

public String[] split(String regex) //根据给定正则表达式的匹配规则,拆分此字符串

举例:分割出字符串中的的数字 
代码演示: 
String s = "18-22-40-65"; 
    String regex = "-"; 
    String[] result = s.split(regex); 
代码演示: 
    String s = "18 22 40 65"; 
    String regex = " "; 
    String[] result = s.split(regex);

public String replaceAll(String regex,String replacement)  //将符合规则的字符串内容,全部替换为新字符串

举例:把文字中的数字替换成* 
代码演示: 
    String s = "Hello12345World6789012"; 
    String regex = "[0-9]"; 
    String result = s.replaceAll(regex, "*");

查找符合正则表达式的字符

Pattern编译正则表达式,Matcher类为封装结果

        String  str="匹配小数2.1,整数33,以及字母和数字的组合fsd535,但是.也可以匹配9点8,因为.代表任意字符?"; 
        String s = "//d+.//d+|//w+";    //.代表任意字符,匹配项为  数字[1,]任意字符[1]数字[1,]或者字母和数字的组合[1,] 
        Pattern  pattern= Pattern.compile(s); 
        Matcher ma=pattern.matcher(str); 
 
        while(ma.find()){ 
            System.out.println(ma.group()); 
        }

输出

java正则表达式详解编程语言

小数正则表达式

([1-9]/d*/.?/d*)|(0/./d*[1-9])

邮箱 

[a-zA-Z_0-9]+@[a-zA-Z_0-9]+(//.[a-zA-Z_0-9]+)+

//w+@//w+(//.//w+)+

中文

[/u4e00-/u9fa5]+


原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/17815.html

(0)
上一篇 2021年7月19日 20:33
下一篇 2021年7月19日 20:33

相关推荐

发表回复

登录后才能评论