Javascript:正则表达式代码将不会执行

标签 javascript 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);

我已经使用 http://regexr.com?2toe2 检查了正则表达式它按照我想要的方式匹配任何 <> 但前提是它们不是 html 标签。 “我现在只介绍了

现在,如果您运行此代码,http://jsfiddle.net/ashburlaczenko/JdATY/9/警报永远不会被执行。我在第一次替换后放置了一个警报,该警报显示,因此错误位于第二阶段。

有人可以帮助我吗?请记住这些正则表达式是我的第一次尝试。

提前谢谢您。

编辑:

<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 不支持正则表达式中的后向断言。您可以在 this blog post 的帮助下模仿它。 ,但仍然不是那么好。

关于Javascript:正则表达式代码将不会执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5983463/

相关文章:

javascript - 同一 link_to 助手的不同行为 - 模板丢失

javascript - 删除换行符失败

javascript - 类型 'length' 上不存在属性 'HTMLElement'

c# - 密码不应包含用户的帐户名或用户全名中超过两个连续字符的部分

javascript - 防止 Javascript 中 SI 前缀的正则表达式回溯

python - 在 Python 中使用带正则表达式的 OR 语句时防止列表中出现空元素

javascript - jQuery 返回多个函数

javascript - 在discord.js 中设置 channel 权限时遇到问题

javascript - |\s 的目的/作用是什么?在 ([\s\S]+|\s?)

正则表达式负向先行识别 url