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

AutoIt 正则表达式参考与学习[序]

作者:绿色风   发布:2016-3-23 13:15 Wednesday   分类:   阅读:8114次   评论:0条  
RegExp

AutoIt 正则表达式参考

                                                                                                  by:131738 收集整理 - Build 2016.03.20

字符串组成

对于字符串"a5", 是由两个字符 "a" 和 "5" 以及三个位置组成的(如下图所示), 这一点对于正则表达式的匹配原理理解很重要:

占有字符和零宽度

正则表达式匹配过程中, 如果子表达式匹配到的是字符内容, 而非位置, 并被保存到最终的匹配结果中, 则认为这个子表达式是占有字符的;
如果子表达式匹配的仅仅是位置, 或者匹配的内容并不保存到最终的匹配结果中, 则认为这个子表达式是零宽度的.

占有字符还是零宽度, 是针对匹配的内容是否保存到最终的匹配结果中而言的.

占有字符是互斥的, 零宽度是非互斥的. 也就是一个字符同一时间只能由一个子表达式匹配, 而一个位置却可以同时由多个零宽度的子表达式匹配.

正则表达式构成

正则表达式由两种字符构成. 一种是在正则表达式中具体特殊意义的"元字符", 另一种是普通的"文本字符".

元字符可以是一个字符, 如 ^ , 也可以是一个字符序列, 如 \w .

关于 AutoIt 正则表达式的一般说明

正则表达式表示法以紧凑方式搜索指定主题字符串,确定可以由 StringRegExp() 提取的匹配部分,
或可以由 StringRegExpReplace() 替换的匹配部分.

正则表达式引擎尝试匹配模式(一种编程格式)与对象的字符串, 并且按左到右的顺序执行搜索.
如果发生不匹配, 引擎尝试回溯(依次返回到以前的状态), 期待将匹配模式的其余部分.

AutoIt 使用 PCRE 引擎(Perl 兼容的正则表达式),是最全面的开源引擎. 这个引擎包括 Unicode 类别属性(UCP)支持, 它允许大多数人类语言的细致处理.
然而, 为了维持与以前版本的兼容性, 并保持在其最佳的匹配速度, 默认不启用 UCP 支持.
您可以通过在表达式前添加字符串(*UCP)启用它. 启用时,UCP 设置将更改正则表达式的元素数目的扩展.

注意: 错误的正则表达式可以产生一个无限循环而占用 CPU, 甚至可以导致崩溃.

关于本文档的说明

网上关于正则表达式的教程, 参考......等等的文章不少, 相关示例也不少, 但都是基于某种编程语言书写! 详细分析正则表达式意义的却十分鲜见!

现实中也没有专为 AutoIt 语言的! AutoIt 帮助文档的这部分描述对于完全门外汉简直犹如天书!

这个参考以正则表达式示例分析为主, 没有诸如"什么是正则表达式"之类的东西! 资料收集于以下网页:

微软-正则表达式语言 - 快速参考(中文) 此文档主要收集于这个网页

下面两个网页为辅助参考收集

正则表达式基础(中文)

揭开正则表达式的神秘面纱(中文)

收集的正则表达式示例都是基于 C# 编程语言编写的, 本文档使用 afan 的 Au3.REHelper_正则助手[160128更新1.5.1] 调试修改为 AutoIt 语言格式! 在此致谢 afan !!!

本参考文档的描述文本兼顾 AutoIt 帮助的函数 StringRegExp() 文档页描述内容!

注意 : 此文档中参杂有我的理解, 这部分内容均已斜体字表示, 基于本人正则知识匮乏, 看客不可轻信 !!!

此文档中"匹配结果(标志 x)" 的 x 表示测试工具 Au3.REHelper_正则助手 的测试标志选项 0 至 4 !






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

blogger
该日志由 绿色风 于2016-3-23 13:15 Wednesday发表在 分类下。
版权所有:《绿色风's Blog》 → 《AutoIt 正则表达式参考与学习[序]》;
除特别标注,本博客很多文章均为原创. 互联分享,尊重版权,转载请以链接形式标明本文地址;
本文标签:

扫描二维码,在手机上阅读
上一篇::au3 正则参考 -01-工作方式
下一篇:还记得小时候玩的16宫格游戏版吗

热门文章

相关文章

  • au3 正则参考 -07-U码类-块列表
  • au3 正则参考 -04-正字符组
  • au3 正则参考 -44-忽略空白
  • AutoIt 正则表达式参考与学习[序]
  • au3 正则参考 -15-定位点
取消回复

发表评论

亲,头像对么?

80 + 86 =

提交中,请稍候……


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


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