JavaScript 正则表达式检测引号变化

JavaScript regexp detect quotes variations

我正在尝试检测不同引号的使用:"

假设我有两个字符串:src="http://link.com"src=“http://link.com“

我有以下 javascript 来检测其中之一,但我找不到包含变体的解决方案:

var regexp_src = /src=\"(.*?)\"/;

之后我只应用表达式:

var result = regexp_src.exec(string_variable);

如果有人能提供帮助,我将不胜感激。

您可以使用捕获组 (["“]) 中的字符 class ["“] 来捕获任一引号,然后参考组 </code> 以获取匹配的结束引号.</p> <p>那么你的url将在第二个捕获组<code>

src=(["“])(.*?)

说明

  • 匹配src=
  • 在角色 class 中捕获 "“ 并在组中捕获 (["“])
  • 捕获任何字符零次或多次非贪婪.*?
  • 参考第 1 组 \

var strings = [
  'src="http://link.com"',
  'src=“http://link.com“'
];
var regexp_src = /src=(["“])(.*?)/;
for (var i = 0; i < strings.length; i++) {
  console.log(regexp_src.exec(strings[i]));
}