正则表达式失败

jig*_*101 1 javascript regex

有人帮吗?当我运行这个时,我得到"无效的量词?<= href ="

var aHrefMatch = new RegExp("(?<=href\=")[^]+?(?=")"); 
var matchedLink = mystring.match(aHrefMatch);
Run Code Online (Sandbox Code Playgroud)

但我知道正则表达式是有效的.

有任何想法吗?

Rit*_*iur 9

Javascript不支持lookbehind断言.它只支持前瞻性的.产生错误是因为它假设了?是0或1的量词,但是在子模式的开头没有要量化的元素(由该左(括号开始)

此外,您的字符串似乎缺少一些反斜杠,因为双引号不会在那里转义.它应该产生语法错误.

也许这段代码可以帮助你做你想要实现的目标:

var match = mystring.match(/href=\"([^\"]*)\"/);
var matchedLink = match[1];
Run Code Online (Sandbox Code Playgroud)