小白入门正则表达式2

  • 符号"^“与”$"分别表示表达式开头结尾,一般可以省略。
    例如^(\d+)(0*)$与(\d+)(0*)一样,因为正则表达式都是一行。

  • 符号"+"表示可以匹配至少1个字符
    AB+ 例如:AB,ABB,ABBB

  • 符号"?"表示可以匹配0个或者1个字符
    AB+ 例如:AB,A

  • 符号"{n}"表示指定重复前面字符n次
    AB{3} 为ABBB

  • 符号"{n,m}"表示可以匹配重复n~m个字符
    AB{2,5} 例如:ABB,ABBB,ABBBB,ABBBBB

  • 符号"{n,}"表示可以匹配重复至少n个字符
    AB{3,} 例如:ABBB,ABBBB,ABBBBBB

  • 符号"{,m}"表示可以匹配重复最多m个字符
    AB{,2} 例如:A,ABB,AB

  • 符号"[…]"表示可以匹配[]内任意一个字符
    [abfHd] 例如:a,b,f,H,d

  • 符号"[n-m]"表示可以匹配n-m范围内的1个字符
    [B-H2-6hf] 例如:B,C,D,E,F,G,H,2,3,4,5,6,h,f

  • 符号"[^n-m]"表示可以匹配非n-m范围内的1个字符
    [^B-H] 例如:A,I,J,K,1,7,8,9,&,a,b,c,s

  • 符号"AB|CD"表示可以匹配AB或者CD

  • 符号"AB|CD|EFG"表示可以匹配AB或者CD或者EFG

  • 重点:正则表达式默认使用贪婪匹配:表达式从实例中从左往右尽可能匹配更多。反之则为非贪婪匹配,用"?“表示
    例如:用(\d+)(0*)匹配"123000”,“3450”,“8734060000”
    \d匹配的结果为"123000",“3450”,“8734060000”
    为什么"0*“没有匹配到"000”,“0”,“0000"呢
    这就是因为正则表达式默认为贪婪匹配,从左往右尽可能匹配更多。
    如果要让"0*“作用与匹配到"000”,“0”,“0000”,则使用”?"
    非贪婪匹配表达式:(\d+?)(0*)
    (\d??)(0*) 这里第一个“?”表示匹配0或1个字符,第二个“?”表示非贪婪匹配

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值