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

au3 正则参考 -16-字符串或行的开头

作者:绿色风   发布:2016-3-29 13:31 Tuesday   分类:工具●教程   阅读:3727次   评论:0条  

<!DOCTYPE html> RegExp

字符串或行的开头: ^

^ 定位点指定后面模式必须从字符串的第一个字符位置开始. 如果多行选项 (?m) 激活, 则匹配必须出现在每行的开头.

以下示例在正则表达式中使用 ^ 定位点, 可提取有关某些职业棒球队参赛年限的信息. 匹配方法有 2 种:

1. 常规匹配方法 -- 只能匹配第一行的文本及其子字符串;

2. 使用多行选项 (?m) 可找到所有五行文本及其子字符串.

字符串:
Brooklyn Dodgers, National League, 1911, 1912, 1932-1957
Chicago Cubs, National League, 1903-present
Detroit Tigers, American League, 1901-present
New York Giants, National League, 1885-1957
Washington Senators, American League, 1901-1960

表达式: (?m)^((\w+(\s?)){2,}),\s(\w+\s\w+),(\s\d{4}(-(\d{4}|present))?,?)+

匹配结果(标志 4):
[0]=> [0]Brooklyn Dodgers, National League, 1911, 1912, 1932-1957
[1]=> [0]Chicago Cubs, National League, 1903-present
[2]=> [0]Detroit Tigers, American League, 1901-present
[3]=> [0]New York Giants, National League, 1885-1957
[4]=> [0]Washington Senators, American League, 1901-1960

[0]=> [1]Brooklyn Dodgers
[0]=> [2]Dodgers
[0]=> [3]
[0]=> [4]National League
[0]=> [5] 1932-1957
[0]=> [6]-1957
[0]=> [7]1957
[1]=> [1]Chicago Cubs
[1]=> [2]Cubs
[1]=> [3]
[1]=> [4]National League
[1]=> [5] 1903-present
[1]=> [6]-present
[1]=> [7]present
[2]=> [1]Detroit Tigers
[2]=> [2]Tigers
[2]=> [3]
[2]=> [4]American League
[2]=> [5] 1901-present
[2]=> [6]-present
[2]=> [7]present
[3]=> [1]New York Giants
[3]=> [2]Giants
[3]=> [3]
[3]=> [4]National League
[3]=> [5] 1885-1957
[3]=> [6]-1957
[3]=> [7]1957
[4]=> [1]Washington Senators
[4]=> [2]Senators
[4]=> [3]
[4]=> [4]American League
[4]=> [5] 1901-1960
[4]=> [6]-1960
[4]=> [7]1960

表达式分析:

模式 子模式 说明
(?m)^   激活多行选项, 从每行的开头开始匹配.
((\w+(\s?)){2,})   匹配以下 2 个子模式的组合项. 第 1 捕获组, 匹配球队名 .
  \w+ 匹配 1 或多个单词字符. 这是第 2 捕获组, 匹配球队名的最后一个单词 .
  (\s?) 匹配 0 或 1 个空白符. 这是第 3 捕获组
  {2,} 匹配第 2 和第 3 捕获组的组合项至少 2 次
,\s   匹配后跟一个空白字符的逗号.
(\w+\s\w+)   匹配以下 3 个子模式的组合项. 这是第 4 捕获组, 匹配赛场名 .
  \w+ 匹配 0 或多个单词字符.
  \s 匹配一个空白符
  \w+ 匹配 0 或多个单词字符.
,   匹配一个逗号.
(\s\d{4}(-(\d{4}|present))?,?)+   这是第 5 捕获组. 匹配以下子模式的组合项( 与第 6 和 7 捕获组匹配球队的参赛年限 ) .
  \s\d{4} 匹配空格后跟 4 个十进制数字.
  (-(\d{4}|present))? 这是第 6 和第 7 捕获组, 匹配一个连字符后跟 4 个十进制数字, 或后跟字符串 present 组合项的 0 次 或 1 次.
  ,? 匹配 0 个或 1 个 逗号
  + 1 次或多次匹配第 5 捕获组的匹配项





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

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

扫描二维码,在手机上阅读
上一篇::au3 正则参考 -17-字符串或行结尾
下一篇:au3 正则参考 -15-定位点

热门文章

相关文章

  • AutoIt 正则表达式参考与学习[序]
  • au3 正则参考 -15-定位点
  • au3 正则参考 -05-负字符组
  • au3 正则参考 -02-转义字符
  • au3 正则参考 -64-负预测先行断言
取消回复

发表评论

亲,头像对么?

79 + 71 =

提交中,请稍候……


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


    站点统计
    • 运行时间: 20254 天
    • 日志总数: 365 篇
    • 评论数量: 7239 条
    • 微语数量: 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