正则表达式语法实例详解
·
| 语法 | 作用 |
|---|---|
. | 除换行符以外的所有字符。 |
^x 、x$ | 以字符串x开始、以字符串x结尾 |
\t、\v | 制表符Tab、竖向制表符 |
\r、\e | 回车、Escape |
\f、\n | 换页符、换行符 |
\d,\w,\s | 匹配数字、字符、空格。 |
\D,\W,\S | 匹配非数字、非字符、非空格。 |
\a | 报警字符(打印它的效果是电脑嘀一声) |
\A | 字符串开头(类似^,但不受处理多行选项的影响) |
\b | 单词分界位置,匹配单词的开始或结束 |
\B | 匹配不是单词开头或结束的位置 |
\Z | 字符串结尾或行尾(不受处理多行选项的影响) |
\z | 字符串结尾(类似$,但不受处理多行选项的影响) |
\G | 当前搜索的开头 |
[\u4e00-\u9fa5] | 匹配中文 |
[abc] | 匹配 a、b 或 c 中的一个字母。 |
[a-z] | 匹配 a 到 z 中的一个字母。 |
[^abc] | 匹配除了 a、b 或 c 中的其他字母。 |
aa|bb | 匹配 aa 或 bb。 |
?、+ 、* | 0 次或 1 次匹配、匹配 1 次或多次、匹配 0 次或多次 |
{n,} | 匹配 n次以上。 |
{m,n} | 最少 m 次,最多 n 次匹配。 |
() | ()括号内的表达式为一个整体 |
(?:expr) | 忽略捕获的子模式,不会改变正则表达式的处理方式 |
(?=expr)、(?!expr) | 正向预查,匹配后面是expr的位置、负向预查,匹配后面不是expr的位置 |
(?<=expr)、(?<!expr) | 匹配前面是expr的位置、匹配前面不是expr的位置 |
校验数字的表达式
数字:^[0-9]*$
n位的数字:^\d{n}$
至少n位的数字:^\d{n,}$
m-n位的数字:^\d{m,n}$
零和非零开头的数字:^(0|[1-9][0-9]*)$
非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(\.[0-9]{1,2})?$
带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})$
正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$
有两位小数的正实数:^[0-9]+(\.[0-9]{2})?$
有1~3位小数的正实数:^[0-9]+(\.[0-9]{1,3})?$
非零的正整数:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$
非零的负整数:^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$
非负整数:^\d+$ 或 ^[1-9]\d*|0$
非正整数:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
非负浮点数:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
非正浮点数:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
正浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮点数:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
校验字符的表达式
汉字:^[\u4e00-\u9fa5]{0,}$
英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
长度为3-20的所有字符:^.{3,20}$
由26个英文字母组成的字符串:^[A-Za-z]+$
由26个大写英文字母组成的字符串:^[A-Z]+$
由26个小写英文字母组成的字符串:^[a-z]+$
由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
由数字、26个英文字母或者下划线组成的字符串:^\w+$ 或 ^\w{3,20}$
中文、英文、数字包括下划线:^[\u4E00-\u9FA5A-Za-z0-9_]+$
中文、英文、数字但不包括下划线等符号:^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$
可以输入含有^%&',;=?$\"等字符:[^%&',;=?$\x22]+
禁止输入含有~的字符:[^~\x22]+

更多推荐
所有评论(0)