Answers:
非贪婪运算符并不表示可能的最短匹配:
abcabk
a.+?k
将匹配整个字符串(在此示例中),而不是仅匹配最后三个符号。
我实际上想找到最小的匹配项。
那是' a
'的最后一个可能匹配项,仍然允许k
。
我想这样做的唯一方法是利用像这样的表达式:
a[^a]+?k
cab
。如果我输入的内容是caaacab
我搜索的内容a.*?b
,则将返回完整字符串,而不是内部的短匹配符。我将如何从中向后搜索b
?
START[^START]*?END
(START和END是您的起始字符和结束字符正则表达式)。从本质
abcabk
和a.+?k
,RegEx将匹配整个字符串。