正则表达式 学习笔记

.     #匹配任意字符
\w \W  #数字、字母大小写、下划线
\d \D   #匹配数字
\s \S   #匹配 任何空白字符 (空格、tab空格、换行) \S 匹配 任何非空字符
[abc] [a-z] [0-9]   #[选择范围] 匹配括号中的任意一个字符
[\u4e00-\u9fa5]   #匹配所有中文字符 unicode
+    #重复一次或多次 [范围]+ 例:[yY] [oO]+
*    #重复零次或多次 [范围]* 例:[yY] [oO] + [!~.]*
?   #重复零个或一个 [范围]? 例:[yY] [oO] +p? [!~.]*
{a , b}   #指定重复范围, 重复a次到b次 例:yo{1, 4}
\b     #单词边界 例:\byo\b 能匹配 mu yo mu,不能匹配 muyomu
()   #分组匹配 例:(.+)飞飞,(.+)追追
    李双蛋飞飞,王花花追追
    $2飞飞,$1追追,$2追到要嘿嘿嘿
    王花花飞飞,李双蛋追追,王花花追到要嘿嘿嘿

(?:模式) #匹配分组但不捕获
    例:如何仅匹配移动号码 并取最后4位,不匹配联通号
    1(?: 37 | 38 | 82 | 83) \d{4} (\d{4}) 取$1
    13712241000
    13822232000
    18289993000
    18398754000

    13112241000
    17722232000

(?=模式) #正向肯定预查,(?=元) 表示表达式里的字符肯定得有,但是不匹配它
    \d+(?=元)
    例:匹配下面“元”前的数值
    100元
    1000元
    100刀
    100镑

(?!模式) #正向否定预查,(?!元) 表示表达式里的字符肯定不能有
    例:
    \d+(?!元) 的匹配结果100元 1000元 100刀 100镑, 不能达到匹配下面“元”前的数值
    解决方法:\d+(?!元 | \d) 表示末位不能是"元" 或者 数字
    匹配结果100元 1000元 100刀 100镑

反向预查JavaScript不支持

(?<=模式) #反向肯定预查,(?<=¥) 表示表达式里的字符肯定得有,但是不匹配它
    (?<=¥)\d+
    例:匹配下面“¥”后的数值
    ¥100
    ¥1000
    $100
    £100

(?<!模式) #反向否定预查,(?<!¥) 表示表达式里的字符肯定不能有
    例:
    (?<!¥)\d+ 的匹配结果¥100 ¥1000 $100 £100, 不能达到匹配下面“元”前的数值
    解决方法:(?<!¥|\d)\d+ 表示末位不能是"元" 或者 数字
    匹配结果¥100 ¥1000 $100 £100

教程地址:http://biaoyansu.com/28.7

{n}   #重复n次
{n,}  #重复n次或更多次
{n,m} #重复n到m次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值