au3 正则参考 -16-字符串或行的开头
<!DOCTYPE html>
字符串或行的开头: ^
^ 定位点指定后面模式必须从字符串的第一个字符位置开始. 如果多行选项 (?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 捕获组的匹配项 |
发表评论
木有头像就木JJ啦!还木有头像吗?点这里申请属于你的个性Gravatar头像吧!