绿色风's Blog
专注AutoIT(Au3)
  • 首页
  • 流●年
  • 笔●记
    • 学习随记
    • 源码示例
  • 脚●本
    • UDF(收集)
    • 工作室UDF
    • 工具●教程
    • 教程之GDI
  • 作●品
  • 下●载
  • 情怀ExcelTip
3月302016

au3 正则参考 -43-多行模式

作者:绿色风   发布:2016-3-30 11:25 Wednesday   分类:工具●教程   阅读:4272次   评论:0条  

<!DOCTYPE html> RegExp

多行模式: (?m)

选项使正则表达式引擎能够处理由多个行组成的输入字符串. 它更改了 ^ 和 $ 语言元素的解释, 以使它们分别与每行的开头和结尾匹配, 而不只是与输入字符串的开头和结尾匹配.

默认情况下, $ 仅与输入字符串的末尾匹配. 如果指定了 (?m) 选项, 它将与换行符 (\n) 或输入字符串的末尾匹配. 但并不与回车符/换行符的组合 \如\n 匹配. 若要成功匹配它们, 使用子表达式 \r?$ 替代 $.

下面的示例提取投手的姓名和分数. 测试两个匹配方法.

第 1 方法调用正则表达式 ^(\w+)\s(\d+)$, 且没有设置任何选项. 因为正则表达式引擎与输入模式及输入字符串的开头和结尾均不匹配, 因此没有找到匹配.

第 2 方法调用正则表达式更改为 (?m)^(\w+)\s(\d+)$, 选项设置为 (?m) , 姓名和分数成功匹配.

字符串:
Joe 164
Sam 208
Allison 211
Gwen 171

表达式: (?m)^(\w+)\s(\d+)$

匹配结果(标志 4):
[0]=> [0]Joe 164
[1]=> [0]Sam 208
[2]=> [0]Allison 211
[3]=> [0]Gwen 171

表达式分析:

模式 说明
(?m) 匹配多个回车符. 否则正则表达式将提示输入字符串没有匹配项.
^ 因为选项 (?m) 的存在, ^ 可以从每行的开头开始匹配.
(\w+) 匹配一个或多个单词字符. 这是第一个捕获组.
\s 与空白字符匹配.
(\d+) 匹配一个或多个十进制数字. 这是第二个捕获组.
$ 因为选项 (?m) 的存在, $ 可以从每行的尾部结束一轮匹配.





本文固定链接: http://www.jianyiit.com/post-204.html

blogger
该日志由 绿色风 于2016-3-30 11:25 Wednesday发表在 工具●教程 分类下。
版权所有:《绿色风's Blog》 → 《au3 正则参考 -43-多行模式》;
除特别标注,本博客很多文章均为原创. 互联分享,尊重版权,转载请以链接形式标明本文地址;
本文标签:

扫描二维码,在手机上阅读
上一篇::au3 正则参考 -44-忽略空白
下一篇:au3 正则参考 -41-不区分大小写

热门文章

相关文章

  • au3 正则参考 -55-普通组与命名组混合编号规则
  • au3 正则参考 -35-量词限定符
  • au3 正则参考 -50-分组子表达式
  • 新编winapi大全
  • SQL强化练习入门学习工具
取消回复

发表评论

亲,头像对么?

93 + 46 =

提交中,请稍候……


木有头像就木JJ啦!还木有头像吗?点这里申请属于你的个性Gravatar头像吧!


    站点统计
    • 运行时间: 20254 天
    • 日志总数: 365 篇
    • 评论数量: 7238 条
    • 微语数量: 6 条
    • 附件总量: 388 件
  • 逝出的青春

  • 打赏"绿色风"



      扫码关注本站公众号 可搜本站内容

  • Autoit V3 脚本交流群

      常驻群1:905774875
      常驻群2:40672266


  • 链接

    • AU3中文论坛
    • Excel资料库
    • 完美者博客
    • 顺网小哥'S Blog
    • 猛牛哥的博客
    • 网吧系统下载
  • 分类

    • 流●年(66)
    • 笔●记(0)
    • 脚●本(0)
    • 作品(21)
    • 学习随记(51)
    • 源码示例(68)
    • UDF(收集)(26)
    • 工作室UDF(30)
    • 工具●教程(62)
    • 教程之GDI(24)
Copyright © 2013 绿色风's Blog. Powered by emlog. Theme by 射雕天龙. 鄂ICP备2021011689号-1 鄂公网安备42102302000078号 sitemap