正则表达式:计算匹配字符串前的引号数量

时间:2018-04-14 18:52:21

标签: regex expression regex-lookarounds vscode-extensions regex-group

假设我有一个我想要匹配的字符串: banana 。问题是我想检查这个字符串是否在双引号内。我读过你可以计算整行中双引号的数量:

(?<!')banana(?=[^"]*(?:"[^"]*"[^"]*)*$).*$

但是,如果我输入了这个字符串,那么它与该字符串不匹配:

"nope" banana "

在这种情况下,我仍然希望字符串匹配(避免嵌套引号),这意味着我需要在字符串之前计算双引号的数量。我怎样才能做到这一点? 附:我在vscode扩展中使用onigurama

1 个答案:

答案 0 :(得分:0)

据我所知,你需要这样的问题:\G(?>".*?"|.)*?\Kbanana