我需要在javascript中使用正则表达式来执行以下操作。
那些不属于HTML实体的 a 实例应替换为 w 。
前:
abc should change to wbc
aabacaa should change to wwbwcww
&abcaa& should change to &wbcww&
等等。
我正在使用JavaScript。
感谢任何帮助。
答案 0 :(得分:6)
试试这个:
"&abcaa&".replace(/&[^;]+;|a/g, function($0) {
return $0 === "a" ? "w" : $0;
})
答案 1 :(得分:0)
一种非正则表达方式,用你最喜欢的编程语言,将你的字符串拆分为“& a”(或&
),替换拆分的项目,然后加入回来,例如用Python
>>> s="&abcaa&"
>>> '&a'.join( [ i.replace("a","w") for i in s.split("&a") ] )
'&wbcww&'
答案 2 :(得分:-1)
作为一个更一般的答案,在编写正则表达式时,我要做的第一件事是转到http://rubular.com并列出几个测试字符串。然后我编写并重新处理正则表达式,直到它完成我需要的工作。
是的,我知道Rubular是一个Ruby正则表达式网站,但RegExp语法非常相似,如果不是大多数语言相同(我认为Perl使用扩展语法)。我已成功使用Rubular来测试Java RegExps。