1.元字符
在正则表达式中,包括2种字符:
(1)普通字符(普通字符就是a~z、0~9这类常见的字符)
(2)特殊字符(元字符)
元字符表正则表达式
元字符 | 说明 |
---|---|
\d | 匹配数字,至关于[0-9] |
\D | 匹配非数字,至关于[^0-9] |
\w | 匹配一个单字字符,至关于[A-Za-z0-9_] |
\W | 匹配一个非单字字符,至关于[^A-Za-z0-9_] |
\s | 匹配一个空白字符,包括空格、制表符、换页符和换行符 |
\S | 匹配一个非空白字符 |
\r | 匹配一个回车符 (U+000D) |
\n | 匹配一个换行符 (U+000A) |
\f | 匹配一个换页符 (U+000C) |
. | (小数点)匹配除换行符以外的任何单个字符。 |
[...] | 匹配方括号内的任一字符 |
[^...] | 匹配非方括号中的任一字符 |
注意:
方括号又叫字符组,注意某些元字符在字符组外和字符组内的意义不一样。例如:^在字符组外匹配行的开头,在字符组内表示排除型字符;-在字符组外匹配普通连字符号,在字符组内(不在开头)表示一个范围;问号和点号在字符组外一般是元字符,但在字符组内只是匹配普通字符而已
2.链接符-bash
链接符 | 说明 |
---|---|
[0-9] | 匹配数字,等价于\d |
[a-z] | 匹配英文小写字母 |
[A-Z] | 匹配英文大写字母 |
[a-zA-Z0-9] | 匹配数字或者任意字母 |
3.限定符
限定某个或某类字符出现的次数,如下n,m是一个正整数ide
限定符 | 说明 |
---|---|
+ | 重复1次或者更屡次(≥1) |
? | 重复0次或者1次(≤1)。若是紧跟在任何量词 *、 +、? 或 {} 的后面,将会使量词变为非贪婪的(匹配尽可能少的字符),和缺省使用的贪婪模式(匹配尽量多的字符)正好相反。 |
* | 任意次数 |
{n} | 重复n次 |
{n,} | 最少n次(≥n) |
{n,m} | 重复n到m次(≥n&&≤m) |
4.定位符
限定某些字符出现的位置ui
定位符 | 说明 |
---|---|
^ | 限定开始位置的字符 |
$ | 限定结尾位置的字符 |
\b | 匹配一个词的边界。可是[\b]很特殊,是匹配一个退格(U+0008) |
\B | 匹配一个非单词边界 |
5.转义字符
匹配正则表达式中的特殊字符,咱们就必须在该特殊字符前面加上反斜杠“\”将其进行转义 例如:
$、(、)、*、+、.、[、]、?、\、/、^、{、}、|
6.分组符
用小括号()括起来的表达式看出一个总体来处理
7.选择符
选择符|选择匹配2个选项之中的任意一个
8.注释
(?#注释的内容)
9.正则表达式标志spa
标志 | 说明 |
---|---|
g | 全局搜索 |
i | 不区分大小写 |
m | 多行搜索 |
y | 执行“粘性”搜索,匹配从目标字符串的当前位置开始,能够使用y标志 |
例子:code
/Mango/i.test('mango')
返回true
复制代码
详细请查看:developer.mozilla.org/zh-CN/docs/…cdn
Email地址:blog
^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
复制代码
手机号码:ip
^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
复制代码
身份证号(15位、18位数字):字符串
^\d{15}|\d{18}$
复制代码
2 到 9 位中文昵称:
^[\u4e00-\u9fa5]{2,9}$
复制代码
帐号/密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):
^[a-zA-Z]\w{5,17}$
复制代码
匹配HTML Tag
<("[^"]*"|'[^']*'|[^'">])*>
复制代码