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

au3 正则参考 -02-转义字符

作者:绿色风   发布:2016-3-24 12:48 Thursday   分类:   阅读:5388次   评论:0条  

<!DOCTYPE html>

RegExp

正则表达式中的字符转义 \ 与反转义 \Q ...\E

正则表达式中的反斜线 (\) 指示以下值之一:

         1. 后接字符为特殊字符, 如下表中所示. 例如 \b 指示正则表达式匹配应从单词边界开始的定位点, \t 表示制表符, 而 \x020 表示空白空间.

转义符 描述
\a 与报警 (bell) 字符 (Chr(7)) 匹配.
\b 匹配单词开头或结尾的分界处. 但在字符组中则匹配退格键 (Chr(8)).
\t 匹配水平制表符 @TAB, Chr(9).
\r 匹配回车符 @CR, Chr(13).
\v 匹配垂直空白字符, 默认等效 \n\r 换行符+回车符. 还可匹配垂直制表符 (VT), 换页符 (FF) ; (当 UCP 启用时匹配: 下一行 (NEL), 行分隔符, 段落分隔符.)
\f 匹配换页符 Chr(12).
\h 匹配: 水平制表符 (HT), 空白, 非换行空格 (当 UCP 启用时增加: 欧甘文字空间标记, 蒙古文元音分隔符, 半角\全角空白, 半角\空格, 1/3 全角空格, 1/4 全角空格, 1/6 全角空格, 数字间空白, 标点符号空间, 窄空白, 最窄空白, 窄无中断空格, 中等数学空间, 表意字符空间.)
\s 匹配 \h 内的所有字符加换行符(LF), 换页符(FF), 回车符(CR).
\n 匹配换行符 @LF, Chr(10).
\e 匹配转义符 \u001B, 控制字符 (Chr(27).
\nnn 字符的八进制表示形式(nnn 由二位或三位数字组成).
如果此构造仅包含一位数字 (如 \2) 并且对应捕获组的编号, 则将它解释为向后引用. (参阅正则表达式中的反向引用构造)
\xnn 匹配 16 进制的 Unicode 编码字符: \x7E 匹配一个波浪号 "~".
\x{nnnn} 匹配 16 进制的 Unicode 编码字符: \x{20AC} 表示欧元符号, "€" 即 ChrW(0x20AC) .
\cX 匹配 ASCII 控制符, X 是控制字符的字母. 例如 \cM 表示 CTRL-M, \cC 为 CTRL-C.

 

         2. 本应解释为未转义语言构造的字符应按字面意思进行解释. 例如大括号 { 为限定符定义的开始, 而反斜杠后接大括号 \{ 表示正则表达式引擎应匹配大括号. 同理, 单个反斜杠标记转义语言构造的开始, 而两个反斜杠 \\ 表示正则表达式引擎应匹配反斜杠.
表达式中有特殊意义的字符, 应用到 字符组[...]或[^...], 或 分组子表达式(......) 中时, 需要添加 "\" 才能匹配该字符本身的字符汇总:

字符 说明 字符 说明
^ 匹配输入字符串的开始位置. 要匹配 "^" 字符本身, 必须使用 \^ . 匹配除了换行符 (\n) 以外的任意一个字符. 要匹配小数点本身, 必须使用 \.
$ 匹配输入字符串的结尾位置. 要匹配 "$" 字符本身, 必须使用 \$ ? 0 次或 1 次限定符. 要匹配 "?" 字符本身, 必须使用 \?
() 标记子表达式的开始和结束位置. 要匹配小括号, 必须使用 \( 和 \) + 1 次或多次限定符. 要匹配 "+" 字符本身, 必须使用 \+
[] 标记字符组的开始和结束位置. 要匹配中括号, 必须使用 \[ 和 \] * 0 次或多次限定符. 要匹配 "*" 字符本身, 必须使用 \*
{} 限定符的开始和结束位置. 要匹配大括号, 必须使用 \{ 和 \} | 左右两边表达式的 "或" 关系符. 匹配 "|" 本身, 必须使用 \|
\ 开始转义字符为正则表达式的特殊意义的字符. 要匹配 \ 必须使用 \\    

上表的转义语法可使用 \Q ...\E 语句简化处理, 例如表达式 \Q(a+b)*3\E 可以匹配字符串 (a+b)*3, 其中的 (, +, ), * 则无需使用反斜杠 \ 符号进行转义.

注意: 字符转义可在正则表达式模式中识别, 但无法在替换模式中识别

示例:

以下示例说明如何使用正则表达式中的字符转义. 分析 2009 年世界上最大城市的名称及其人口的字符串. 使用制表符 \t 或垂直条 | 将每个城市名与其人口数量分开. 使用回车符和换行符分隔各个城市及其人口:

字符串:
Mumbai, India|13,922,125
Shanghai, China 13,831,900 ; 注意: 数字 13 前面应包含一个制表符 !
Karachi, Pakistan|12,991,000
Delhi, India 12,259,230 ; 注意: 数字 12 前面应包含一个制表符 !
Istanbul, Turkey|11,372,613

表达式: \G(.+)[\t|](.+)\r?\n
匹配结果(标志 4):
[0]=> [0]Mumbai, India|13,922,125
[1]=> [0]Shanghai, China 13,831,900
[2]=> [0]Karachi, Pakistan|12,991,000
[3]=> [0]Delhi, India 12,259,230
[4]=> [0]Istanbul, Turkey|11,372,613

表达式分析:

模式 说明
\G 从上次匹配结束处开始匹配
(.+) 一次或多次匹配任何字符. 这是第一个捕获组.
[\t|] 匹配制表符 \t 或垂直条 | .
(.+) 一次或多次匹配任何字符. 这是第二个捕获组.
\r?\n 匹配 0 或 1 个回车符 \r, 后接换行符 \n.

 






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

blogger
该日志由 绿色风 于2016-3-24 12:48 Thursday发表在 分类下。
版权所有:《绿色风's Blog》 → 《au3 正则参考 -02-转义字符》;
除特别标注,本博客很多文章均为原创. 互联分享,尊重版权,转载请以链接形式标明本文地址;
本文标签:

扫描二维码,在手机上阅读
上一篇::au3 正则参考 -03-字符类
下一篇:au3 正则参考 -01-工作方式

热门文章

相关文章

  • au3 正则参考 -60-断言
  • au3 正则参考 -55-普通组与命名组混合编号规则
  • au3 正则参考 -41-不区分大小写
  • au3 正则参考 -07-U码类-块列表
  • SQL强化练习入门学习工具
取消回复

发表评论

亲,头像对么?

50 + 33 =

提交中,请稍候……


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


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