正则表达式

元字符:.^$+?{}[]|()\

.通配符(除了\n的任何字符)

*   0~无穷(可以按照0*True,结果为0)尽可能多的匹配            

+   1~无穷(可以按照0+True,结果为True)

?  出现0~1次(取最少)非贪婪匹配

{}匹配次数

{0,}==*                 {0,1}==?                   {1,}==+

贪婪(从后往前)(*+)              非贪婪(从前往后)后面加?

"*?" :重复任意次,但尽可能少重复。 如 "acbacb" 正则 "a.*?b"只会取到第一个"acb" 原本可以全部取到但加了限定符后,只会匹配尽可能少的字符,而"acbacb"最少字符的结果就是"acb"。

"+?":重复1次或更多次,但尽可能少重复,与上面一样,只是至少要重复1次。

"??":重复0次或1次,但尽可能少重复。如"aaacb"正则"a.??b"只会取到最后的三个字符"acb"。

"{n,m}?":重复n到m次,但尽可能少重复。如 "aaaaaaaa" 正则 "a{0, m}?"因为最少是0次所以取到结果为空。

"{n,}?":重复n次以上,但尽可能少重复。如 "aaaaaaa"  正则 "a{1,}?" 最少是1次所以取到结果为 "a"。

非获取匹配:

\w(?=pattern)  正向肯定匹配

(?<=pattern)\w  逆向肯定匹配

\w(?!pattern)  正向否定匹配

(?!pattern)\w  反向否定匹配

^s  s开头                   e$  e结尾 

[\u4E00-\u9FA5] 匹配汉字

 

[]从字符集里匹配一个       可以使用a-z   a,z表示范围      []l里面的:^非   \转义

\d 数字    \D非数字  \s空白字符    \S非空白字符

\w字母和数字下划线  \W非字母数字下划线

\b特殊字符边界(匹配单词边界,不匹配任何字符。要防止转义字符串前面加r)

 

|或匹配

()分组

先整体匹配,再进行分组的匹配,全部拿出来

var s='JavaScript and Java'

var p=/\bJava(\w+)\b/

p.exec(s)[0]    //结果为:"JavaScript"

p.exec(s)[1]    //结果为:"Script"

 手机号码的正则:

^1[3|5|8]\d{9}$

转载于:https://www.cnblogs.com/Neroi/p/10244005.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值