正则表达式
元字符 | 描述 |
---|---|
限定符 | 相关描述 |
? | 标记?之前的字符为可选,有没有都行。 |
* | 匹配>=0个重复的在*号之前的字符,(0 ~ +∞)。 |
+ | 匹配>=1个重复的+号前的字符,(1 ~ +∞)。 |
点运算符 | 相关描述 |
. | 匹配任意单个字符除了换行符。 |
字符类 | 相关描述 |
[ ] | 字符种类。匹配方括号内的任意字符。 |
[^ ] | 否定的字符种类。匹配除了方括号里的任意字符。 |
(xyz) | 字符集,匹配与 xyz 完全相等的字符串。 |
量词 | 相关描述 |
{n,m} | 匹配num个大括号之前的字符或字符集 (n <= num <= m)。 |
或运算符 | 相关描述 |
| | 匹配符号前或后的字符。 |
转义字符 | 相关描述 |
\ | 匹配一些保留的字符 [ ] ( ) { } . * + ? ^ $ \ |
锚点 | 相关描述 |
^ | 从开始行开始匹配,检查匹配的字符串是否在所匹配字符串的开头。 |
$ | 从末端开始匹配,匹配字符是否是最后一个。 |
常用的字符集简写
简写 | 描述 |
---|---|
. | 除换行符外的所有字符 |
\w | 匹配所有字母数字,等同于 [a-zA-Z0-9_] |
\W | 匹配所有非字母数字,即符号,等同于: [^\w] |
\d | 匹配数字: [0-9] |
\D | 匹配非数字: [^\d] |
\s | 匹配所有空格字符,等同于: [\t\n\f\r\p{Z}] |
\S | 匹配所有非空格字符: [^\s] |
\f | 匹配一个换页符 |
\n | 匹配一个换行符 |
\r | 匹配一个回车符 |
\t | 匹配一个制表符 |
\v | 匹配一个垂直制表符 |
\p | 匹配 CR/LF(等同于 \r\n ),用来匹配 DOS 行终止符 |
标志(模式修正符)
标志 | 描述 |
---|---|
i | 忽略大小写。 |
g | 全局搜索。 |
m | 多行修饰符:锚点元字符 ^ $ 工作范围在每行的起始。 |
常用的正则表达式
数字 | 表达式 |
---|---|
数字 | ^[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]*$ |
字符 | 表达式 |
汉字 | ^[\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]+ 12 |
禁止输入含有~的字符 | [^~\x22]+ |