正则表达式

正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。

正则表达式语法

正则表达式的写法很灵活,通常一种限制规则使用正则表达式有很多种写法,最重要的是清楚正则表达式的规则。

非打印字符
字符描述
\cx匹配由x指明的控制字符。
\f匹配一个换页符。等价于 \x0c 和 \cL。
\n匹配一个换行符。等价于 \x0a 和 \cJ。
\r匹配一个回车符。等价于 \x0d 和 \cM。
\s匹配任何空白字符,包括空格、制表符、换页符等等。
\S匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\t匹配一个制表符。等价于 \x09 和 \cI。
\v匹配一个垂直制表符。等价于 \x0b 和 \cK。
\d匹配数字。等价于[0-9]
\D匹配非数字。等价于[^0-9]
\w匹配包括下划线的任何单字符。等价于[a-z0-9A-Z_]
\W匹配不包括下划线的任何单字符。等价于[^a-z0-9A-Z_]
特殊字符

若要匹配这些特殊字符,必须首先使字符"转义",即,将反斜杠字符\ 放在它们前面。

特殊字符描述
$匹配输入字符串的结尾位置。要匹配 $ 字符本身,请使用 $。
( )标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。
*匹配前面的子表达式零次或多次。
+匹配前面的子表达式一次或多次。
.匹配除换行符 \n 之外的任何单字符。
[标记一个中括号表达式的开始。
?匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。
\将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。
^匹配输入字符串的开始位置,除非在方括号表达式中使用,当该符号在方括号表达式中使用时,表示不接受该方括号表达式中的字符集合。
{标记限定符表达式的开始。
|指明两项之间的一个选择。
限定符

限定符用来指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。有 * 或 + 或 ? 或 {n} 或 {n,} 或 {n,m} 共6种。

字符描述
*匹配前面的子表达式零次或多次。例如,zo* 能匹配 “z” 以及 “zoo”。* 等价于{0,}。
+匹配前面的子表达式一次或多次。例如,‘zo+’ 能匹配 “zo” 以及 “zoo”,但不能匹配 “z”。+ 等价于 {1,}。
?匹配前面的子表达式零次或一次。
{n}n 是一个非负整数。匹配确定的 n 次。
{n,}n 是一个非负整数。至少匹配n 次。
{n,m}m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。
定位符
字符描述
^匹配输入字符串开始的位置。
$匹配输入字符串结尾的位置。
\b匹配一个单词边界,即字与空格间的位置。
\B非单词边界匹配。
正则表达式案例
var reg = /^[1-9]\d{5}(18|19|20)\d{2}(0\d)|(1[0-2])([0|1|2]\d)|(3[0-1])\d{3}([0-9]|X)$/

身份证正则

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值