Javascript:Regex代码将不会执行

Javascript:Regex代码将不会执行,javascript,regex,Javascript,Regex,在我开始之前,我只想说我对Regex完全陌生,所以请对我温柔一点。如果您对Regex有任何意见,我们将不胜感激 我已经写了下面的代码 var str = "<blah blah more <b>test</b>>"; var reg1 = "<(?!b>)(?!/b>)"; str = str.replace(new RegExp(reg1), "&lt;"); var reg2 = ">(?<!b>)(?&l

在我开始之前,我只想说我对Regex完全陌生,所以请对我温柔一点。如果您对Regex有任何意见,我们将不胜感激

我已经写了下面的代码

var str = "<blah blah more <b>test</b>>";

var reg1 = "<(?!b>)(?!/b>)";
str = str.replace(new RegExp(reg1), "&lt;"); 

var reg2 = ">(?<!b>)(?<!/b>)";
str = str.replace(new RegExp(reg2), "&gt;"); 

alert(str);
var-str=”“;
var reg1=“)(?!/b>)”;
str=str.replace(新的RegExp(reg1),“”);
var reg2=“>(?)(?)”;
str=str.replace(新的RegExp(reg2),“”);
警报(str);
我已经检查了正则表达式的使用情况,它做了我想要的事情,即匹配任何,但前提是它们不是html标记。”我现在只讲了

现在,如果您运行此代码,则永远不会执行警报。我在显示的第一次更换后发出警报,因此错误处于第二阶段

有人能帮我吗?请记住这些正则表达式是我第一次尝试

先谢谢你

编辑:

<blah blah more <b>test</b>><another <b>blah</b> blah <b>test</b>>

应该成为

&lt;blah blah more <b>test</b>&gt;&lt;another <b>blah</b> blah <b>test</b>&gt;
废话更多的测试另一个废话测试

希望这更清楚。

JavaScript不支持正则表达式中的查找后断言。您可以通过来自的一点帮助来模拟它,但它仍然不是很好。

JavaScript不支持正则表达式中的look-behind断言。您可以在的帮助下模拟它,但它仍然不是很好。

函数escapeHtml($0,$1,$2,$3)
function escapeHtml($0, $1, $2, $3)
{
    var result = $1 == '<' ? '&lt;' + $2 + $3 : $1 + $2 + '&gt;';
  return result;
}

str = str.replace(/([<>])([^<>]*?)(\1)/g, escapeHtml);
str = str.replace(/^([^<]*?)>/, '$1&gt;');
str = str.replace(/<([^>]*?)$/, '&lt;$1');
{ var result=$1=='
函数escapeHtml($0、$1、$2、$3)
{

var result=$1=='谢谢你的回答。你知道我如何在不使用查找后断言的情况下编写此内容吗?谢谢你的回答。你知道我如何在不使用查找后断言的情况下编写此内容吗?这对于示例是可行的,但我不太清楚我需要什么。正则表达式应该将all<替换为,除非它是html的一部分ag,现在我们可以说唯一有效的html标记是and。这对于a>应该是一样的。希望这更清楚。另外,你知道vbscript正则表达式是否可以包含look behinds吗?我甚至不知道vbscript是否有regexp。对不起!你有更大的示例吗,这样我就可以看出我的第二个示例有什么问题了。这对示例有效,但我没有我不太清楚我需要什么。正则表达式应该将all<替换为,除非它是html标记的一部分,现在我们可以说唯一有效的html标记是and。对于a>,这应该是相同的。希望这更清楚。另外,你知道vbscript正则表达式是否可以包含look behinds吗?我甚至不知道vbscript是否有正则表达式抱歉!你有更大的吗例如,我可以看到我的第二个有什么问题。查看此网站:,它在构造正则表达式时非常有用。查看此网站:,它在构造正则表达式时非常有用。