一、介绍
正则表达式(regular expression)是一种字符串匹配的模式。可以用来检查一个串是否含有某种子串,将匹配的子串替换或者从某个串中取出符合某个条件的子串。
二、基本语法
1.普通字符
字符 | 功能 |
---|---|
[AAA] | 匹配【】中的所有字符 |
[A-Z] | 匹配【】中第一个字符与第二个字符中的任意一个字符 |
[^A] | 匹配除了【^】后的字符 |
[.] | 匹配除换行符之外的任意一个字符,相当于是 【^\n\r】。 |
[\s\S] | 匹配所有。\s 匹配所有空白符,包括换行。\S 匹配所有非空白符,不包括换行。 |
[\w] | 匹配字母、数字、下划线。相当于是 【A-Za-z0-9_】。 |
[\W] | 匹配非单词字符 |
[\r] | 匹配回车 |
2.数量字符
字符 | 功能 |
---|---|
[A?] | 匹配0个或一个A |
[A*x] | 匹配0个或x个A |
[A+] | 匹配大于等于1个A |
[A{x}] | 匹配Ax次 |
[A{x,}] | 匹配A至少x次 |
A{x,y} | 匹配A至少x次,至多y次 |
3.特殊字符
一些有特殊含义的字符,若要匹配这些特殊字符本身,需要转义处理。
字符 | 功能 |
---|---|
[\] | 将下一个字符标记为特殊字符或原义字符。要匹配\字符本身,请使用 \\。 |
[$] | 匹配输入字符串的结尾位置。要匹配 $ ,请使用 \$。 |
[()] | 标记一个子表达式的开始和结束位置。要匹配(、),请使用 \( 、 \)。 |
[ [ ] | 标记一个中括号表达式的开始。要匹配 [,请使用 \[。 |
[?] | 匹配前面的子表达式零次或一次,要匹配 ? ,请使用 \?。 |
三、常见使用例
1.邮箱地址
[a-zA-Z0-9_]+@[a-zA-Z]+(\\.[a-zA-Z]+)+
2.大于等于三位的整数
[1-9][0-9]{2,}
3.ip地址【ipv4】
([0-9]{1,3}\.){3}[0-9]{1,3}
4.纯数字
^[0-9]*$
5.身份证号码
(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)
6.密码(6~20位)
^[a-zA-Z]\w{6,20}$
7.密码(不能使用特殊字符)
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{6,20}$
8.空白行
\n\s*\r