正则表达式

正则表达式,是从jdk1.4引入到java中的,正则表达式本质上是一种操作字符串的语法规则,利用此语法就可以更加灵活的实现字符串的匹配,拆分,替换等操作

单个(数量1)

  • 任意字符:表示由任意字符组成
  • \\::转义字符
  • \n:匹配换行
  • \t:匹配制表符

字符集(数量1)

  • [abc]:表示可能是a,字符b,字符c中的任意一位
  • [^abc]:表示不是abc中的任意一位
  • [a-z]:所有的小写字母
  • [a-zA-z]:任意一个字母不区分大小写
  • [0-9]:任意一个数字

简化的字符表达式(数量1)

  • .:任意一个字符
  • d:等价于[0-9]
  • D:等价于[^0-9]
  • s:表示任意的空白字符,列入t,n
  • S:表示任意的非空白字符
  • w:等价于[a-zA-Z_0-9]表示由任意的字母数字_组成
  • W:等价于[^a-zA-Z_0-9]表示不是由任意的字母数字组成

边界匹配

^:正则的开始

&:正则的结束

数量表达

  • 正则?:表示此正则可以出现0此或1次
  • 正则+:表示此正则可以出现1次,或1次以上
  • 正则*:表示正则可以出现0次,1次或多次
  • 正则{n}:表示此正则正好出现n次
  • 正则{n,}:表示次正则出现n次以上(包含n)
  • 正则{n,m}表示正则出现n-m次

逻辑运算

  • 正则1正则2:判断1完成后继续判断正则2
  • 表达式x|表达式y:有一个满足即可
  • (正则):为表达式设置一个整体描述,可以为整体描述设置数量单位

使用

public class Main{
    public static void main(String[] args) {
        String str="aa";
        String regex="([^0-9][^0-9]))";
        System.out.println(str.matches(regex));//true
    }
}

public String replaceAll(String regex,String replacement)

将满足正则标记的内容全部替换为新的内容

public class Main{
    public static void main(String[] args) {
        String str="123213好快该接口2会把好给aa";
        String regex="[^a-zA-z0-9]+";
        System.out.println(str.replaceAll(regex,""));//1232132aa 只留下英文与数字
    }
}
Last modification:April 21, 2022
如果觉得我的文章对你有用,请随意赞赏