正则表达式规则和常用案例

规则符号

正则分类符号含义备注
匹配位置^开头 
$结尾 
预定义\d1个数字对常用字符集的简化
\b单词边界
\w1个数字或字母
\s1个空字符(空格、换行、tab)
.匹配除了回车、换行外的所有字符
反义\D匹配任意非数字的字符字母大写,意思与预定义相反。
\B匹配不是单词开头或结束的位置
\W匹配任意不是字母,数字,下划线 的字符
\S匹配任意不是空白符的字符
[^X]除了X都行排除,^只能放开头。
量词{n,m}至少n次,至多m次字符集写在量词前面。
量词修饰相邻的前一个(左侧)字符集。
{n,}至少n次
{n}必须n次
?至多1次
*可有可无
+至少一次
懒惰限定符*?重复任意次,但尽可能少重复尽可能少重复
+?重复1次或多次,但尽可能少重复
??重复0次或1次,但尽可能少重复
{n,m}?重复n到m次,但尽可能少重复
{n,}?重复n次以上,但尽可能少重复
简写[A-Za-z]1个字母中间字符连续,可用 - 省略简写。
[0-9]1个数字
[\u4e00-\u9fa5]1个汉字
转义字符\使特殊字符变为普通字符被识别,如 \+告诉浏览器转义字符后为原文
选择规则1|规则2或者满足一个规则即可
分组()将多个字符集用()包裹为了让一个量词修饰多个字符集
(exp)匹配exp,并捕获文本到自动命名的组里捕获分组
(?<name>exp)匹配exp,并捕获文本到名称为name的组里
(?:exp)匹配exp,不捕获匹配的文本,也不给此分组分配组号
(?=exp)匹配exp前面的位置
(?<=exp)匹配exp后面的位置
(?!exp)匹配后面跟的不是exp的位置
(?<!exp)匹配前面不是exp的位置

 

常用案例

常见案例规则描述正则表达式
身份证号公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。\d{15}(\d{2}[0-9xX])?
\d{17}[\d|x|X]|\d{15}
手机号11位手机号^1[0-9]{10}$
11位手机号,约束第二位为 3 4 5 7 8^1[34578]\d{9}$
邮箱邮箱不区分大小写 \w 匹配数字母下划线 中括号里是小写字母或0-9数字 后面+是一个或多个 转义一个点  任意多个字母/^\w+@[a-z0-9]+\.[a-z]+$/i
 ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
密码至少8字符 至少1大写字母 至少1小写字母 至少1数字字符 至少1特殊字符/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[^\w\s]).{8,}$/
至少8-16个字符,至少1个大写字母,1个小写字母和1个数字,其他字符任意/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^]{8,16}$/
以字母开头,长度在6~18之间,只能包含字母、数字和下划线^[a-zA-Z]\w{5,17}$
必须包含大小写字母和数字的组合,不能使用特殊字符,长度在 8-10 之间^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$
必须包含大小写字母和数字的组合,可以使用特殊字符,长度在8-10之间^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
域名 [a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?
InternetURL [a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Irene1991

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值