3月302016
au3 正则参考 -45-表达式注释
<!DOCTYPE html>
正则表达式的内联注释和行尾注释: (?# 注释文本)
编号符号 (#) 标记模式的注释, 从正则表达式模式结尾的非转义 # 字符开始, 并继续到行的末尾, 描述整个正则表达式的作用意义;
当 (?# 注释文本) 出现在子表达式后面则为内联注释, 描述子表达式的作用意义.
下面的示例阐释内联注释和行尾注释的构造. 它确定字符串是否是一个包含至少一个格式项的复合格式字符串.
字符串: "{0,-3:F}"
表达式: {\d+(,-\d+)(\:\w{1,4}?)(?# 不区分大小写比较)}(?x) # 查找一个合成格式项.
匹配结果(标志 3):
[0]"{0,-3:F}"
[1],-3
[2]:F
表达式分析:
模式 | 说明 |
---|---|
{ | 转义字符 { 为字符本身原意 . 匹配左括号 { |
\d+ | 匹配一个或多个十进制数字. |
(,-\d+) | 匹配逗号的 0 个或一个匹配项, 后跟可选负号, 负号后跟一个或多个十进制数. |
(\:\w{1,4}?) | 转义冒号字符 : 为字符本身原意 . 匹配冒号的 0 个或一个匹配项, 冒号后跟一至四个空白字符, 但空白字符尽可能少. |
(?# 不区分大小写比较) | 内联注释. 它不影响模式匹配行为. |
} | 转义字符 } 为字符本身原意 . 匹配右括号 } |
(?x) | 启用忽略模式空白选项, 以便识别行尾注释文本. 或替换为使用 (?# ... ) 效果相同 . |
# 查找一个合成格式项. | 行尾注释文本. 它不影响模式的匹配行为. |
下面示例两个内嵌批注添加到正则表达式, 说明比较是否区分大小写:
字符串: double dare double Double a Drooling dog The Dreaded Deep
表达式: \b((?# 区分大小写的比较)D\w+)\s(?ix)((?#不区分大小写的比较)d \w+ )\b
匹配结果(标志 2):
[0]Drooling dog
[1]Drooling
[2]dog
表达式分析:
模式 | 说明 |
---|---|
\b | 在单词边界处开始 |
(?# 区分大小写的比较) | 注释. 它不影响模式匹配行为. 说明在单词边界处开始的匹配区分大小写 . |
D\w+) | 匹配后跟一个或多个大写字符 D .这是第一个捕获组. |
\s | 与空白字符匹配. |
(?ix) | 此后,进行不区分大小写的比较, 并忽略正则表达式模式中的空白 |
(?#不区分大小写的比较) | 注释. 它不影响模式匹配行为. 说明在此处开始的匹配不区分大小写 . |
d\w+) | 匹配大写或小写字符 d 后跟一个或多个字符. 这是第二个捕获组. |
\b | 在单词边界处开始. |
扫描二维码,在手机上阅读
发表评论
木有头像就木JJ啦!还木有头像吗?点这里申请属于你的个性Gravatar头像吧!