jhdu的个人空间 https://blog.eetop.cn/1370874 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

perl 学习第八章 以正则表达式进行匹配

已有 1370 次阅读| 2016-1-14 09:12

以m/ /进行匹配
    m// 操作符与qw // 操作符类似,可以使用任何成对的定界符,如果以双斜线作为定界符则可以省略m。
可选修饰符
    /i 进行模式匹配时不分大小写
    /s 匹配任意字符(包括换行符)
    /x 加入空白,是程序更容易阅读,理解
锚位
    ^ 表示字符串的开头:/^fred/ 匹配字符串最前端的fred
    $ 表示字符串的结尾:/$fred/ 匹配位于字符串最后的fred
    \b 单词边界锚位,匹配任何单词的首尾:/\bfred\b/只能匹配fred,不能匹配fredrick 等等
    绑定操作符 =~:默认情况下的匹配对象是$_,绑定操作符则会让perl拿右边的 来匹配左边的字符串,而非匹配$_
模式串中的内插
    my $what = "larry";
    while (<>){
        if (/^($what)/){    #会匹配$what 的值,也可以用@ARGV命令行参数来取得:my $what = shift @ARGV
            print "......" ;
捕获变量
    圆括号不仅用来表示不同的模式组,也启动了正则表达式的捕获功能,其具有把所匹配的字符串记忆下来的能力,在perl里,他们的名字类似$1,$2, 有多少对括号就有多少个匹配变量。
捕获变量的生命周期
    捕获变量能存活到下次成功的模式匹配为止,也就是说,失败的匹配不会改动上次成功匹配时捕获的内容,而成功的匹配则会将他们重置。
不捕获模式
    在左括号的后面加上问号和冒号:(?:bribto)? 这样就会跳过bronto
自动匹配变量
     $& 保存了整个的匹配段落
     $` 保存了找到匹配段落之前略过的部分
     $‘保存了字符串中剩下的,重来没有匹配到的部分
通用量词
    除了 * + ? 这三个量词之外,还可以在花括号里指定重复次数的范围:/a{5,15}可匹配重复出现5到15 次的字母a



点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 2

    粉丝
  • 1

    好友
  • 0

    获赞
  • 1

    评论
  • 1077

    访问数
关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-18 10:45 , Processed in 0.028446 second(s), 13 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部