如何匹配所有不属于捕获组的字符?

问题描述 投票:0回答:2

我想匹配除捕获组中的字符之外的所有字符。这是一个最小的正则表达式,作为我想要实现的目标的示例:

/(?:(["'])[^\1]*\1)/g

明显的问题是

[^\1]
不是这样工作的,它没有使用捕获组。我找不到实现该行为的方法。

javascript regex regex-group
2个回答
0
投票

我认为你真正需要的是一个“非贪婪”运算符,例如

.*?

(另外,为什么需要外部非捕获括号?)

尝试:

/(["']).*?\1/g


0
投票

您正在寻找的称为负前瞻。它用于断言某个字符序列不跟随其他字符。在这里:

/(?:(["'])(?!\1*).*?\1)/g
© www.soinside.com 2019 - 2024. All rights reserved.