用正则表达式进行匹配



用m//进行匹配:

      m//与//相同,/为匹配的边界符,但是m//的边界符可以用别的符号代替。

模式匹配修饰符:

      在边界符后面加特定字母,表示某种规则,可以组合使用,没有顺序。
 /i 与大小写无关
 /s 符号“.”能匹配任何字符(包括换行符)
 /x 在匹配中允许加入空白符(方便看)
/a字符解释:采取ASCII方式
/u字符解释:采取Unicode方式
/l字符解释:本地化语言

锚位:

      定义开头或结尾固定字符或单词。
 \A匹配开头字符
 \z 匹配末尾字符,大写Z表示后面允许有换行符
 \b 匹配任何单词的首位,一组连续的\w字符开头或结尾
      例: /\A\s*\Z/ —— 匹配一个空行
      另一种方式:^行首,$行末

绑定操作符:

      =~ ——用右边的模式匹配左边的字符串

模式中的内插:

      例: my $what = "larry"; if(/\A($what)/) { ... }

捕获变量: $数字

      捕获变量形如:$1、$4,它和反向索引\1、\4差不多,不同的是反向索引是模式匹配期间得到的结果,捕获变量则是模式匹配后对得到的补货内容的索引
      捕获变量只应该在捕获成功时使用,否则会得到上一次模式匹配的捕获内容。

不捕获圆括号:

      (?:  ) —— 表示括号内容不被捕获,不占用位置。

捕获标签:

      形式:(?<标签名>内容)
      捕获:$+{标签名}
      反向引用:\g{标签名}

通用量词:

      除了+、*、?以外,还可以规定出现次数。
      {n} ——出现n次
      {n,m}——出现n到m次
      {n,} ——出现n次以上

正则表达式优先级(由高到低):


 圆括号(分组或捕获) (...)、(?:...)、(?
 量词 a*、a+、a?、a{n,m}
 锚位和序列 abc、^、$、\A、\b、\z、\Z
 择一竖线 a|b|c
 原子 a、[abc]、\d、\1、\g{z}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值