![]() |
1
46
正则表达式只能匹配实际存在的文本片段。 因为子字符串“ton”在字符串中的任何位置都不存在,所以它不能是匹配的结果。匹配将只返回原始字符串的子字符串 编辑:如果您使用下面的字符串,请加上一个'N'
此正则表达式(不指定“o”)。
将匹配以下内容(在“n”之前尽可能多的字符)
但是正则表达式
只匹配以下内容(在“n”之前尽可能少的字符)
|
![]() |
2
5
正则表达式总是渴望匹配。 你的表情是这样说的: A 't', followed by *as few as possible* 'o's, followed by a 'n'. 这意味着所有必需的O都将被匹配,因为结尾处有一个“N”,而表达式急于到达。匹配所有的O是成功的唯一可能性。 |
![]() |
3
4
regexp尝试匹配其中的所有内容。因为要匹配的“o”不少于to o o o n中要匹配n的每个“o”,所以所有的都是匹配的。另外,因为您使用的是O*?而不是O+?您不需要O出席。 示例,在Perl中
|
![]() |
4
4
正则表达式总是尽其所能匹配。在这种情况下,唯一要做的就是通过让解析器回溯到
最小重新成功:'toooooon' ~~ /to*?n/ t o o o o o o n {t} match [t] [t] match [o] 0 times [t]<n> fail to match [n] -> retry [o] [t]{o} match [o] 1 times [t][o]<n> fail to match [n] -> retry [o] [t][o]{o} match [o] 2 times [t][o][o]<n> fail to match [n] -> retry [o] . . . . [t][o][o][o][o]{o} match [o] 5 times [t][o][o][o][o][o]<n> fail to match [n] -> retry [o] [t][o][o][o][o][o]{o} match [o] 6 times [t][o][o][o][o][o][o]{n} match [n] 正常再续:(注:最大Re相似) 'toooooon' ~~ /to*n/ t o o o o o o n {t} match [t] [t]{o}{o}{o}{o}{o}{o} match [o] 6 times [t][o][o][o][o][o][o]{n} match [n] 最小Re故障:'toooooo' ~~ /to*?n/ t o o o o o o . . . . . . . . [t][o][o][o][o]{o} match [o] 5 times [t][o][o][o][o][o]<n> fail to match [n] -> retry [o] [t][o][o][o][o][o]{o} match [o] 6 times [t][o][o][o][o][o][o]<n> fail to match [n] -> retry [o] [t][o][o][o][o][o][o]<o> fail to match [o] 7 times -> match failed 正常RE故障:'toooooo' ~~ /to*n/ t o o o o o o {t} match [t] [t]{o}{o}{o}{o}{o}{o} match [o] 6 times [t][o][o][o][o][o][o]<n> fail to match [n] -> retry [o] [t][o][o][o][o][o] match [o] 5 times [t][o][o][o][o][o]<n> fail to match [n] -> retry [o] . . . . [t][o] match [o] 1 times [t][o]<o> fail to match [n] -> retry [o] [t] match [o] 0 times [t]<n> fail to match [n] -> match failed 最大Re失效:'toooooo' ~~ /to*+n/ t o o o o o o {t} match [t] [t]{o}{o}{o}{o}{o}{o} match [o] 6 times [t][o][o][o][o][o][o]<n> fail to match [n] -> match failed |
![]() |
5
2
您正在搜索的字符串(Haystack原样)不包含子字符串“ton”。 但是它包含子字符串“toooooooooooooooooon”。 |
![]() |
wonghenry · 另一个选择中的正则表达式选择 7 年前 |
![]() |
Seamus · 正则表达式以查找字符串中最后一次出现的模式 8 年前 |
|
Dzmitry · regex贪婪匹配以字符或字符串结尾[重复] 8 年前 |
![]() |
Chlodwig Radulf · Regex…尽可能少 9 年前 |
![]() |
GM. · 如果存在代码,则使用regex获取文本 9 年前 |
![]() |
Savan Patel · 查找reg ex中的特定单词和特殊字符 9 年前 |
|
linvi · Regex Or和贪婪 10 年前 |
![]() |
user2745246 · Regex以避免分隔字符串中的数据重复? 10 年前 |