温馨提示:本文最后更新于2022年12月3日,已超过 30 天没有更新,某些文章具有时效性,若有错误或已失效,请在下方留言!
正则表达式基础
特殊字符 | 描述 |
---|---|
[ | 需要匹配的字符 |
{ | 指定匹配字符的数量 |
^ | 匹配输入字符串的开始位置,在集合里表示不匹配 |
$ | 匹配输入字符串的结束位置 |
\w | 匹配字母或数字或下划线或汉字 |
\s | 匹配任意的空白符 |
\d | 匹配数字 |
\b | 匹配单词的开始或结束 |
. | 匹配除换行符以外的任意字符 |
实例:
1.匹配第一个字符为字母或数字或下划线汉字,第二个字符为数字,第三个字符为空格
格式:\w\d\s 如:_1 ,a2 ,12
2.匹配三个全部都为数字的字符串
格式:^\d\d\d$ 如:123,456,789
3.匹配单词Alive
格式:\bAlive\b 如:I Will Aliver and Alive
注意:返回的是Aliver而不是Alive,因为\b....\b返回的匹配的单词
限定字符
字符 | 描述 |
---|---|
* | 匹配前面的子表达式零次或多次。 |
+ | 匹配前面的子表达式一次或多次。 |
? | 匹配前面的子表达式零次或一次。 |
{n} | 匹配确定的n次 |
{n,} | 至少匹配n次或更多次 |
{n,m} | 最少匹配n次且最多匹配m次 |
实例:
1.\d* 匹配重复0次或多次数字 例如:可能为空 或 任意数字 (5,2,3.....)
2.\d+ 匹配重复1次或多次数字 例如:可能为1个或多个数字 1,23,234,2345,........
3.\d? 匹配重复零次或者一次数字 例如:可能为空或者任意的一个数字(1,2,....)
4.\d{8}匹配重复8次数字 例如:123456768
5.\d{4,}匹配重复至少4次数字 例如:1234,12345,124244,.......
6.^\d{8,11}$ 匹配重复8-11次数字 例如:12345678,123456789,1234567890,12345678901
反义字符
字符 | 描述 |
---|---|
\W | 匹配任意不是字母,数字,下划线,汉字的字符 |
\S | 匹配任意不是空白符的字符 |
\D | 匹配任意非数字的字符 |
[^x] | 匹配除了x以外的任意字符 |
简单实例
- 只能输入数字:\^[0-9]*$
- 只能输入n位的数字:\^d{n}$
- 只能输入至少n位的数字:\^d{n,}$
- 只能输入m~n位的数字:\^d{m,n}$
- 只能输入零和非零开头的数字:^(0|[1-9][0-9]*)$
- 只能输入有两位小数的正实数:\^[0-9]+(.[0-9]{2})?$
- 只能输入有1~3位小数的正实数:\^[0-9]+(.[0-9]{1,3})?$
- 只能输入非零的正整数:\^+?[1-9][0-9]*$
- 只能输入非零的负整数:\^-[1-9][]0-9*$
- 只能输入长度为3的字符:\^.{3}$
- 只能输入由26个英文字母组成的字符串:\^[A-Za-z]+$
- 只能输入由26个大写英文字母组成的字符串:\^[A-Z]+$
- 只能输入由26个小写英文字母组成的字符串:\^[a-z]+$
- 只能输入由数字和26个英文字母组成的字符串:\^[A-Za-z0-9]+$
- 只能输入由数字、26个英文字母或者下划线组成的字符串:\^w+$
- 只能输入由数字、26个英文字母或者下划线组成的字符串:\^w+$
- 验证用户密码:\^[a-zA-Z]w{5,17}$正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。
- 只能输入汉字:\^["u4e00-"u9fa5]{0,}$
- 验证身份证号(15位或18位数字):\^d{15}|d{18}$
Comments | NOTHING