Javascript:Regex代码将不会执行
在我开始之前,我只想说我对Regex完全陌生,所以请对我温柔一点。如果您对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), "<"); var reg2 = ">(?<!b>)(?&l
var str = "<blah blah more <b>test</b>>";
var reg1 = "<(?!b>)(?!/b>)";
str = str.replace(new RegExp(reg1), "<");
var reg2 = ">(?<!b>)(?<!/b>)";
str = str.replace(new RegExp(reg2), ">");
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>>
应该成为
<blah blah more <b>test</b>><another <b>blah</b> blah <b>test</b>>
废话更多的测试另一个废话测试
希望这更清楚。JavaScript不支持正则表达式中的查找后断言。您可以通过来自的一点帮助来模拟它,但它仍然不是很好。JavaScript不支持正则表达式中的look-behind断言。您可以在的帮助下模拟它,但它仍然不是很好。
函数escapeHtml($0,$1,$2,$3)
function escapeHtml($0, $1, $2, $3)
{
var result = $1 == '<' ? '<' + $2 + $3 : $1 + $2 + '>';
return result;
}
str = str.replace(/([<>])([^<>]*?)(\1)/g, escapeHtml);
str = str.replace(/^([^<]*?)>/, '$1>');
str = str.replace(/<([^>]*?)$/, '<$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是否有正则表达式抱歉!你有更大的吗例如,我可以看到我的第二个有什么问题。查看此网站:,它在构造正则表达式时非常有用。查看此网站:,它在构造正则表达式时非常有用。