Regex:查找一个字符,除非它被双引号包围



我希望在字符串中找到诸如","之类的字符,除非它被双引号包围。

例如字符串中:'示例,"字符串",'

我希望它能匹配"Example"后面的逗号,但不能匹配"String"后面的。

有正则表达式可以做到这一点吗?

您可以使用(?![text])否定正则表达式中的一组字符。

例如,像(?!"),(?!")这样的东西会找到所有未被""触摸"的,。您可能需要使用该正则表达式的多种变体来检查字符串,以获得所需的结果,但我认为您应该能够使用给定的示例。

类似的东西?

console.log(
`For example in the string: 'Example, "String,"'`.match(/, /g).length,
`For example, in the following string: 'Example, "String," I'd like to find all ","'`.match(/, /g).length,
)

最新更新