Java正则表达式教程

正则表达式是一个字符串,它不仅可以用于表达一个字符串,还可以用于表达一类字符串,表示一类字符串的规则或者格式,它一般被用来检查一个字符串是否符合规定、或者将匹配的子串替换成符合某个规定的另一个子串。正则表达式的优点在于可以用简单的代码展现复杂的规则,缺点为大家写出的正则表达式的正确率比较低。

正则表达式由普通的字符(a到z)和特殊字符(元字符)组成的,其中由普通字符和中括号[]组成的字符串为字符类型,表示单个字符;还有一些字符串经常被人们使用,所以就提前在正则表达式中做了定义,这种类型的字符串被称为预定义字符类。下面小编举几个例子:

1). 表示任意字符,\\. 表示一个确定的. 的字符串;

2)\d 表示数字字符;

3)\D 表示非数字字符。

无论是字符类型还是预定义字符类型都只能表示单个的字符,无法表示零个或多个字符,想要表示这些需要一个数量词修饰字符的个数,在修饰字符个数的时候需要注意数量词修饰的是紧挨着自己的前面那个字符的个数,与其他字符无关。下面小编举几个例子:

1)X? 表示X这个字符出现0次或1次;

2)X{n} 表示X这个字符恰好出现n次;

3)X{n,m} 表示X这个字符至少出现n次,至多出现m次。

普通的字符串也是一个正则表达式,但是这种正则表达式只能代表自身,无法匹配其他字符类。判断某个字符串是否与某个正则表达式的规则匹配需要使用string类中的matches的表达方法。bollean matches (String regex)判断当前字符串是否和参数正则表达式匹配。字符串和正则表达式有关的方法除了这个外还有两个,分别为:string[] split (String regex):使用指定的正则表达式切割当前字符串;string replaceAll(String regex,string replacement):将调用者字符串中所有匹配regex正则的子串,全部替换为replacement新串。

上一篇:c#学习笔记《1》——regex类


下一篇:# 2021-01-03 #「Jenkins Pipeline」- java.io.NotSerializableException: java.util.regex.Matcher