欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

正则表达式的总结

程序员文章站 2024-02-27 13:06:33
...
               *****正则表达式*****

一:
前言:是一种安全技术,校验字符串是否合法,本身也是一个字符串。

正则表达式:正确的规则组成的一个表达式,它可以去验证其他的字符串数据合法性。

正则表达式式验证字符串:在正则表达式中书写的规则是限字符串不同位置上可以出现哪些字符数据。
二:正则表达式中字符作用
1.字符
正则表达式的总结
2.字符类
正则表达式的总结
3.预定义字符
正则表达式的总结
4.边界匹配器
正则表达式的总结
5.数量字符
正则表达式的总结

三.正则表达式常用功能
1.匹配功能:使用String类中matches()方法。

boolean matches(String regex) 告知此字符串是否匹配给定的正则表达式。

//匹配
//验证身份证正确性
@Test
public void Text(){

    String idString="412808199511280397";
    String ingex="[1-9][0-9]{5}[12][0-9]{3}"
            + "[01][0-9][0123][0-9]\\d{3}[0-9Xx]";//正则表达式
    if (idString.matches(ingex)) {//验证表达式
        System.out.println("身份证号码正确");
    }else {
        System.out.println("身份证号码错误");
    }
}

正则表达式的总结

2.切割功能:使用String类中split()方法。
String[] split(String regex)
根据给定正则表达式的匹配拆分此字符串。
String[] split(String regex, int limit)
根据匹配给定的正则表达式来拆分此字符串。

//切割
//切割字符串1
@Test
public void Text1(){
    String string="dosd..asjdia.....asdasf..sdasd.dasd....fasf...hu";
    String ingex="(.)\\1+";//正则表达式
    String[] arrayString=string.split(ingex);//分割成字符串组
    for (String string2 : arrayString) {//打印验证
        System.out.print(string2+"  ");
    }
}
//切割字符串2
//  @Test
public void Text2(){
    String string="hds  dasijd   dasif     saas safasf  asasf     sd";
    String ingex=" +";//正则表达式
    String[] arrayString=string.split(ingex);//分割成字符串组
    for (String string2 : arrayString) {
        System.out.println(string2);//打印验证
    }
}
//切割字符串3
//  @Test
public void Text3(){
    String string="helloiiiiworldoooonihao##shijie88wo55like222you";
    String ingex="(.)\\1+";//正则表达式
    String[] arrayString=string.split(ingex);//分割成字符串组
    for (String string2 : arrayString) {//打印验证
        System.out.println(string2);
    }
}

切割结果1:
正则表达式的总结

结果2:
正则表达式的总结

结果3:
正则表达式的总结

3.替换功能:使用String类中replace()方法。
String replace(char oldChar, char newChar)
返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
String replace(CharSequence target, CharSequence replacement)
使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。
String replaceAll(String regex, String replacement)
使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
String replaceFirst(String regex, String replacement)
使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。

//替换
//替换字符串
@Test
public void Text4(){
    String string="我我我我我我我.....要要要要要....学学..习";
    String ingex="(.)\\1+";
    String string2=string.replaceAll(ingex, "$1");
    System.out.println(string2);
    String ingex2="\\.";
    String string3=string2.replaceAll(ingex2, "");
    System.out.println(string3);
}

运行结果
正则表达式的总结

4。获取功能:通过获取对象类进行,其中用到了

Pattern类
public final class Pattern extends Objectimplements Serializable
Matcher
public final class Matcher extends Objectimplements MatchResult

//获取
@Test
public void Text5(){
    String string="hdus13461875066shduhdh12345678"
            + "9hfdfsdfji17737467857dhashd";
    String ingex="1[3456789]\\d{9}";//正则表达式
    Pattern pattern=Pattern.compile(ingex);
    //获取(正则)Pattern类对象并与正则表达式匹配
    Matcher matcher=pattern.matcher(string);//将正则对象与操作对象匹配
    while(matcher.find()){//判断是否找到表达式的要求,找到就输出
        System.out.println(matcher.group());
    }

运行结果:
正则表达式的总结

***************************天意无情***********************

相关标签: java知识点