Javascript 忽略HTML实体的正则表达式

Javascript 忽略HTML实体的正则表达式,javascript,regex,Javascript,Regex,我需要一个javascript正则表达式,它执行以下操作 那些不属于HTML实体的a实例应替换为w 例: 等等 我正在使用JavaScript 感谢您的帮助 使用您最喜欢的编程语言,使用非正则表达式的方式,在“&a”(或&;)上拆分字符串,替换拆分后的项目,然后在Python中重新连接 >>> s="&abcaa&" >>> '&a'.join( [ i.replace("a","w") for i in s.s

我需要一个javascript正则表达式,它执行以下操作

那些不属于HTML实体的a实例应替换为w

例:

等等

我正在使用JavaScript


感谢您的帮助

使用您最喜欢的编程语言,使用非正则表达式的方式,在“&a”(或
&;
)上拆分字符串,替换拆分后的项目,然后在Python中重新连接

>>> s="&abcaa&"
>>> '&a'.join( [ i.replace("a","w") for i in  s.split("&a") ] )
'&wbcww&'

在您最喜欢的编程语言中,使用非正则表达式的方式,在“&a”(或
&;
)上拆分字符串,替换拆分后的项,然后在Python中重新连接

>>> s="&abcaa&"
>>> '&a'.join( [ i.replace("a","w") for i in  s.split("&a") ] )
'&wbcww&'
试试这个:

"&abcaa&".replace(/&[^;]+;|a/g, function($0) {
    return $0 === "a" ? "w" : $0;
})
试试这个:

"&abcaa&".replace(/&[^;]+;|a/g, function($0) {
    return $0 === "a" ? "w" : $0;
})

作为一个更一般的回答,在编写正则表达式时,我要做的第一件事是去设计几个测试字符串。然后我编写并重新处理正则表达式,直到它满足我的需要


是的,我知道Rubular是一个RubyRegex站点,但是RegExp语法非常相似,如果对大多数语言不相同的话(我认为Perl使用扩展语法)。我已经成功地使用Rubular测试了Java正则表达式。

作为一个更一般的回答,在编写正则表达式时,我要做的第一件事是去设计几个测试字符串。然后我编写并重新处理正则表达式,直到它满足我的需要


是的,我知道Rubular是一个RubyRegex站点,但是RegExp语法非常相似,如果对大多数语言不相同的话(我认为Perl使用扩展语法)。我已经成功地使用Rubular测试了Java正则表达式。

您需要考虑所有HTML实体(如
¶;
)吗?或者只是
&。如果您需要说明所有内容,我的答案不正确(我将删除它)。您想要使用的工具是什么?是否需要说明所有HTML实体(如
¶;
)?或者只是
&。如果您需要说明所有问题,我的答案不正确(我将删除它)。您想要使用的工具是什么?这不会转换a&;b至w&;b@Varun:
replace
不是一个mutator方法。这意味着使用该方法的原始字符串保持不变。如果要更改变量的值,需要将
replace
的返回值指定给变量:
str=str.repalce(/*…*/)
。这不会转换&;b至w&;b@Varun:
replace
不是一个mutator方法。这意味着使用该方法的原始字符串保持不变。如果要更改变量的值,需要将
replace
的返回值指定给变量:
str=str.repalce(/*…*/)