正则表达式未按预期匹配整个输入文本
Regular Expression not Matching Entire Input Text as Expected
我有以下正则表达式:
(=)(?<!\\)(')(.*?)(?<!\\)(')(.*?)
它应该匹配等号后跟单引号之间的任何字符集,然后是后面的任何字符。
但是当我用示例文本 ='abc'xyz
测试它时,它只匹配 ='abc'
.
我也在这里测试了代码:https://regexr.com/61gof
知道为什么会这样吗?
?
使最后一个 (.*?)
延迟匹配,因此匹配尽可能少的字符,这将是 0。删除 ?
或放置 $
在正则表达式的末尾告诉它它应该匹配到行尾(如果这是你想要的)。
我有以下正则表达式:
(=)(?<!\\)(')(.*?)(?<!\\)(')(.*?)
它应该匹配等号后跟单引号之间的任何字符集,然后是后面的任何字符。
但是当我用示例文本 ='abc'xyz
测试它时,它只匹配 ='abc'
.
我也在这里测试了代码:https://regexr.com/61gof
知道为什么会这样吗?
?
使最后一个 (.*?)
延迟匹配,因此匹配尽可能少的字符,这将是 0。删除 ?
或放置 $
在正则表达式的末尾告诉它它应该匹配到行尾(如果这是你想要的)。