正则表达式参数
元字符
字符 | 描述 |
\ | 将下一个字符标记为特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符 |
^ | 匹配输入字符串的开始位置 |
$ | 匹配输入字符串的结束位置 |
* | 匹配前面的子表达式0次或多次,相当于{0,} |
+ | 匹配前面的子表达式1次或多次,相当于{1,} |
? | 匹配前面的子表达式0次或1次,相当于{0,1} |
{n} | n是一个非负整数。匹配确定n次 |
{n,} | n是一个非负整数。至少匹配n次 |
{n,m} | m和n均为非负整数,其中n<=m。最少匹配n次最多匹配m次 |
x|y | 匹配x或y |
[xyz] | 字符集合。匹配所包含的任意一个字符 |
[^xyz] | 负值字符集合。匹配未包含的任意字符 |
[a-z] | 字符范围。匹配指定范围内的任意字符 |
[^a-z] | 负值字符范围。匹配任何不在指定范围内的任意字符 |
\b | 匹配一个单词边界,也就是指单词和空格间的位置 |
\B | 匹配非单词边界 |
\d | 匹配一个数字字符。等价于[0-9] |
\D | 匹配一个非数字字符。等价于[^0-9] |
\f | 匹配一个换页符 |
\n | 匹配一个换行符 |
\r | 匹配一个回车符 |
\s | 匹配任何空白字符。包括空格、制表符、换页符。等价于[\f\n\r\t\v] |
\S | 匹配任何非空白字符。等价于[^\f\n\r\t\v] |
\t | 匹配一个制表符 |
\v | 匹配一个垂直制表符 |
\w | 匹配字母、数字、下划线。等价于[A-Za-z0-9_] |
\W | 匹配非字母、数字、下划线。等价于[^A-Za-z0-9_] |
常用正则举例
只能输入数字
^[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})?$
只能输入英文字母组成的字符串
^[A-Za-z]+$
只能输入汉字
^[u4e00-u9fa5]{0,}$