3月242016
au3 正则参考 -06-任意字符
<!DOCTYPE html>
任意字符: .
句点字符 . 匹配除 \n 换行符之外的任何字符. 有以下两个注意点:
1. 当选项 (?s) 激活时匹配换行符.
2. 句点字符在字符组内部 [.], 则只能匹配点号本身.
下面示例使用 . 的不同匹配行为. 正则表达式 ^.+ 从字符串开头开始, 并匹配每个字符. 默认匹配到第一行的结尾结束; 模式可以匹配回车符 \r ,但不匹配换行符 \n.
字符串:
This is one line and
this is the second.
表达式: ^.+
测试结果只能返回第一行的文本字符串.
但单行模式选项 (?s) 可以将整个输入字符串解释为单行, 因此 (?s) 选项激活时将匹配输入字符串中的每个字符, 包括换行符 \n.
仍然使用上面的字符串, 表达式修改为 (?s)^.+, 此时能完整匹配源字符串的 2 行文本字符串.
下面示例通过定义包括句点字符 . 的正则表达式, 作为正字符组的成员来进行演示:
正则表达式 \b.*[.?;:](\s|\z) 在字边界处开始, 匹配任何字符直到遇到四个标点符号之一(包括句点), 然后匹配空白字符或字符串的末尾.
字符串: this; what: is? go, thing.
表达式: \b.*[.?;:](\s|\z)
匹配结果(标志 4): [0]=> [0]his; what: is? go, thing.
表达式分析:
模式 | 说明 |
---|---|
\b | 在单词开头边界处开始匹配 |
.* | 任意字符连续重复匹配多次 |
[.?;:] | 正字符组, 一次匹配标点符号 . ? ; : 中的一个. |
(\s|\z) | 包含选项的分组, 匹配任何空白字符, 包含回车符, 换行符, 制表符, 空格符, 或者匹配输入字符串的结束位置. |
由于 . 匹配任何字符, 因此当正则表达式模式尝试多次匹配任何字符时, 句点字符 . 通常会与惰性限定符一起使用.
扫描二维码,在手机上阅读
发表评论
木有头像就木JJ啦!还木有头像吗?点这里申请属于你的个性Gravatar头像吧!