正则表达式未按预期匹配整个输入文本

Regular Expression not Matching Entire Input Text as Expected

我有以下正则表达式:

(=)(?<!\\)(')(.*?)(?<!\\)(')(.*?)

它应该匹配等号后跟单引号之间的任何字符集,然后是后面的任何字符。

但是当我用示例文本 ='abc'xyz 测试它时,它只匹配 ='abc'.

我也在这里测试了代码:https://regexr.com/61gof

知道为什么会这样吗?

? 使最后一个 (.*?) 延迟匹配,因此匹配尽可能少的字符,这将是 0。删除 ? 或放置 $ 在正则表达式的末尾告诉它它应该匹配到行尾(如果这是你想要的)。