最全常用正则表达式大全:
什么是正则表达式?
正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。
1.正则表达式语法规则:
正则表达式语法规则:[内容限定]{长度限定}
2.Java 中正则表达式的使用
在 Java 中正则表达式为 String 类型,被验证的内容同样为 String 类型。通过 String 类中的 matches 方法实现内容的匹配校验。如:“被验证内容”.matches(“正则表达式”)
3.内容限定
在定义限定内容规则时,如果没有指定长度限定,那么默认长度为 1。
4.单个字符限定
例:
[a]:表示当前内容必须是字母 a,且长度为1
5.范围字符限定
[a-z0-9]:表示内容可以是 a-z 之间的任意字母或者 0-9 之间的任意数字,不分先后。
注意:大写字母的话匹配[a-z0-9]的范围会报错,区分大小写。要传入大小写字母可以这样表达[a-zA-Z]。
6.取反限定
[^abc]:表示内容不能是 a 或 b 或 c。
7.长度限定
在正则表达式中通过{ }来限定内容长度。
固定长度:{固定长度值}
范围长度:{最小长度值,最大长度值}
例:
[a-z]{5}:表示内容范围为小写字母 a 到 z 且长度必须为 5
[a-z]{2,8}:表示内容范围为小写字母 a 到 z 且长度在 2 到 8 之间,包含 2 与 8
[a-z]{2,}:表示内容范围为小写字母 a 到 z 且最小长度为 2,最大长度无限制
[a-z]{0,2}:表示内容范围为小写字母 a 到 z 且最小长度为 0(0不可以省略),最大长度为 2
用法:
8.长度限定符号
长度限定符号是指通过预定义符号来完成长度限定。
?:零次或一次。等同于{0,1}
+:一次或多次。等同于{1,}
*:零次或多次。等同于{0,}
用法:
9. 预定义字符
在正则表达式中可以通过一些预定义字符来表示内容限定。目的是为了简化内容限定的定义。
常见的预定义字符:
例:
注意:不要在内容表达式与范围表达式中间加空格,要紧挨着。
10.正则表达式的组合定义
在正则表达式中可以通过多个内容限定与长度限定来组合定义。
例:
必须以字母开头,最少长度为4,最大长度为8。
“[a-z]{1}\\w{3,8}”