经常使用正则表达式学习和备份

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

<("[^"]*"|'[^']*'|[^'">])*>
复制代码
相关文章
相关标签/搜索