我试图匹配引号之间包含的字符串文字的所有部分.
(?<=[\"]).*?(?=(?<=[^\\])[\"]{1})
上面是一个正常工作的正则表达式,除了一个例外,它当然会匹配字符串文字的所有部分,其中左侧和右侧都有引号,无论引用对.
例如(星号表示匹配的字符):
Hello "my" name is "Andy", nice to meet you.`
** ********* ****
Run Code Online (Sandbox Code Playgroud)
这里的字符串文字部分" name is "只是因为它的两边都有一个引号字符而匹配.这对我们正在寻找的东西是不正确的.理想的结果是:
Hello "my" name is "Andy", nice to meet you.`
** ****
Run Code Online (Sandbox Code Playgroud)
完全理解这是可能的,也许应该通过写一个状态引擎来完成 - 我的问题是 - 用正则表达式术语 - 如果可能的话,我如何防止后面匹配一个先前与外观匹配的字符串文字部分 -先?
regex ×1