1

我想匹配“”和“”中的所有文本。我的文本可能包含其中任何一个,所以我使用或运算符我的正则表达式如下

(\"(.*?)\"|'(.*?)')

为了检索引号之间的文本,我使用了 RegExp.$2 表示“”,RegExp.$3 表示 '' 现在只使用一个组,我可以检索其中任何一个。例如,我可能不知道何时给出“”并且使用了“”,因此任何人都可以提出满足上述属性的正则表达式。

4

2 回答 2

3

尝试这个

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

在 Regexr 上查看

您将在第 2 组中找到引号之间的文本。

于 2012-04-04T07:02:24.917 回答
1

像这样的东西?

(["'])((?:(?!\1).)*)\1

第一个反向引用将包含"or'而第二个将包含引号之间的文本。

如果这是您要匹配的代码(引号之间的字符串),您可能需要处理反斜杠:

(["'])((?:(?!\1)[^\\]|\\.)*)\1
于 2012-04-04T06:58:03.840 回答