Perl中的正则表达式

  1. 模式(pattern)

    1. 匹配操作符(match):m// 或 //

      以某个正则表达式来匹配 $_ 的内容,返回真或假。采用简写形式(shortcut)时可省略开头的m。

    2. 替换操作符(substitution):s//

      对 $_ 进行模式匹配,然后把匹配到的内容替换成指定的字符串。

    3. 选项修饰符(option modifier)

      以 /i 来进行不区分大小写的模式匹配,以 /s 将模式中的每个点号用来匹配任意字符(包括换行符),以 /x 在模式里随意添加空白或注释,以 /g 来进行全局替换,/m可处理多行文本,进行跨行匹配。

    4. 绑定操作符(binding operator):=~

      用操作符右边的模式来匹配左边的字符串,而不是默认匹配变量 $_ 。

  2. 特殊字符

    1. 元字符(metacharacter)

      点号(.)是通配符,可以用来匹配除换行符以外的所有单个字符。在任何元字符前加上反斜线(/),会匹配元字符本身。小括号()可用来归组,具有记忆功能。(?:)可用来归组,但不具有记忆功能。竖线(|)进行择一匹配,只匹配左边或只匹配右边。

    2. 量词(quantifier)

      星号(*)会匹配前一个项目0次或多次,加号(+)会匹配前一个项目1次或多次,问号(?)会匹配前一个项目0次或1次。大括号{m, n}可用来指定重现次数的范围。

    3. 字符集(character class)

      用方括号[]括起的一连串可能字符,但只会匹配其中的任一单个字符。在字符集开头加上插入记号(^)可用来排除字符集,/d代表任意数字的字符集[0-9],/w代表构成单词的字符集[A-Za-z0-9_],/s代表空白字符集[/f/t/n/r ],/D代表/d的反义字符集[^/d],/W代表/w的反义字符集[^/w],/S代表/s的反义字符集[^/s]。

    4. 大小写转换

      在替换模式的替换字符串中,/U会将其后的所有字符转换成大写,/L会将其后的所有字符转换成小写,/E可关闭大小写转换功能,/l和/u只会影响其后的第一个字符。大小写转换字符也可用于任何双引号内的字符串。

  3. 锚点

    1. 插入记号(^)代表字符串的开头,美元符号($)代表字符串的结尾,/b代表单词边界,/B代表非单词边界。
  4. 变量

    1. $_ 为默认匹配变量,可用 =~ 进行设置。
    2. $1,$2,…,$n为匹配变量,存储小括号归组的匹配字符串。
    3. $`,$&,$' 为自动匹配变量,$`存储匹配字符串的前置字符串,$&存储匹配的字符串本身,$'存储匹配字符串的后置字符串。
  5. split和join

    1. split /separator/, $string 会根据分割符(separator)拆开指定字符串($string),并返回由该模式所分隔出来的一串字段。
    2. join $glue, @pieces会根据参数($glue)将指定字符串片段(@pieces)拼接起来,并返回所得到的字符串。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值