正则表达式
1. 正则表达式:
正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。
符号 | 描述 | 案例 |
\ | 转义字符表示\后面的字符是原意字符 | \+,\. 只是简单的表示+,. 字符没有特殊含义 |
^ | 正则表达式的开始位置 | javascript /^表示开始 |
$ | 正则表达式的结束位置 | javascript /$ 表示结束 |
* | 前面出现的内容出现0或多次 | ^(a)*$:匹配0或多个a |
+ | 前面出现的内容出现1或多次 | ^(abc)+$: 匹配1或多个abc(abcabcabc) |
? | 前面出现的内容出现0或1次 | ^(helloRegex)?$: 匹配0个或者1个helloRegex |
{n} | 确定匹配n次 | ^(a){5}$: 匹配5个a |
{n,} | 至少匹配n次 | ^(abc){5,}:匹配至少5个abc |
{n,m} | 匹配至少n次,至多m次 | ^(tm){6,7}:匹配至少6个tm至多7个tm |
(pattern) | ()是一个集合,整体 | ^(abc)?$:匹配0或1个abc |
x|X | 匹配x或者X | ^\d{15}(\d{2}[\d|x|X])?$ :匹配身份证 |
[abc] | 匹配a,b,c中的任何一个字符 | [abc]: 匹配plan中的a |
[^abc] | 匹配非a,b,c中的任何一个字符 | [^abc]:匹配plan中得pln |
[a-z] | 匹配任意一个小写字母 | [a-z]: 匹配任意一个小写字母 |
[A-Z] | 匹配任意一个大写字母 | [A-Z]:匹配任意一个大写字母 |
\b | 匹配一个单词边界,也就是指单词和空格间的位置。 | er\b: 可以匹配nerver中得后面一个er 不能匹配ner中的er |
\B | 与\b的含义相反 | |
\d | 数字[0-9] \D[^0-9] | |
\s | 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。\S与\s相反 |