Javascript正则表达式替换:无效的量词

Javascript正则表达式替换:无效的量词,javascript,regex,Javascript,Regex,我无法使此正则表达式在javascript中工作: pat = new RegExp("Lorem(?=([^<]*($|<a|<[^/]|</[^a]))*($|(?<=a)))", "g"); test = test.replace(pat, '<a href="#">Lorem</a>'); => 这是一个很好的例子。这是另一个问题。 如果您还可以检查链接的url,则更好: 这是一个 => 这是一个 可能足以替换所有不在内的字符

我无法使此正则表达式在javascript中工作:

pat = new RegExp("Lorem(?=([^<]*($|<a|<[^/]|</[^a]))*($|(?<=a)))", "g");
test = test.replace(pat, '<a href="#">Lorem</a>');
=>

这是一个很好的例子。这是另一个问题。
如果您还可以检查链接的url,则更好:

这是一个
=>

这是一个
可能足以替换所有不在
内的字符串。请参见此示例

var toreplace=“String”//要查找的文本
var rx=新的RegExp((?!\/)“+toreplace+”(?!\”)(?!)”,“g”);
var txt=“这是一个。这是另一个字符串。“;//要替换的文本。
var newText=txt.replace(rx,,);//新文本
结果是:

这是一个。这是另一个字符串。
=>

这是一个。这是另一个。

?很遗憾,谢谢你的帮助,我必须找到另一个解决方案。如果你更新这个问题来解释你的正则表达式的确切预期行为,可能有人可以帮助你调整它。这是JavaScript,dom操作的语言。但是你仍然使用正则表达式来解析HTML。为什么?!因为文本我要替换的是文本区域中的内容,确切地说是我从中获得的tinyMCE的内容:parent.tinyMCE.activeEditor.getContent()
var toreplace = "String"; // Text to find
var rx = new RegExp ("((?!\/)" + toreplace + "(?!\"))(?!<(.*?)>)", "g");
var txt = "This is a <a href=\"#\">String</a>. This is another String."; // Text to replace.
var newtxt = txt.replace (rx, '<a href="#">$1</a>'); // New Text