Regex 正则表达式反向惰性量词
假设我有这根绳子Regex 正则表达式反向惰性量词,regex,Regex,假设我有这根绳子 X,,,X,,,X,,c,,X,,,X 我想捕获与X.*c.*X匹配的最小字符串,即X,,,X,,X,,,c,,,X,,X 正则表达式X.*c.*X将捕获X、、、X、、X、、c、、X、、X 通过使第二个量词惰性X.*c.*X我得到X、、X、、c、、X、、X 但是让第一个量词变懒并没有什么区别 我怎样才能告诉第一个量词也是懒惰的,但是从另一个方向?明确禁止重复起始子字符串。 在示例中: X[^X]*c.*X-->XaaaXaaaXaacXaaaX multicharachter
X,,,X,,,X,,c,,X,,,X
我想捕获与X.*c.*X
匹配的最小字符串,即X,,,X,,X,,,c,,,X,,X
正则表达式X.*c.*X
将捕获X、、、X、、X、、c、、X、、X
通过使第二个量词惰性X.*c.*X
我得到X、、X、、c、、X、、X
但是让第一个量词变懒并没有什么区别
我怎样才能告诉第一个量词也是懒惰的,但是从另一个方向?明确禁止重复起始子字符串。
在示例中:
X[^X]*c.*X
-->XaaaXaaaXaacXaaaX
multicharachter版本:
(使用负面环视)
在字符串中查找最小值XY.*c.*XY
:XY、、、XY、、XY、、c、、XY、、XY
这是正确的。没有“其他方向”-正则表达式总是返回最早(最左边)的成功匹配。因此,如果XAAAXAAAXAAAX和XAAAXAAAXAAAX都匹配,您将始终获得第一个。返回第二个字符的唯一方法是确保第一个字符不成功。求反的字符类对多字符值无效。是的,已经存在这样的问题了。你的是个傻瓜。