JavaScript正则表达式 - 替换字符X和字符Y之间的除字符之外的所有单词字符

时间:2013-08-02 20:40:00

标签: javascript regex

使用JavaScript和正则表达式,方法示例string.replace(/[\w]/g, "*")用*。

替换单词字符

示例:

John & Sandy went to the market.

变为:

**** &***; ***** **** ** *** ******.

除了我们要避免替换“&”中的字符外,我想这样做和“;”没有空格分隔。

示例:

 John & Sandy are awesome & rock; They are also weird.

变为:

 **** & ***** *** ******* & ****; **** *** **** *****.

我的正则表现很弱,我很难搞清楚这一点。阅读其他解决方案也很困难。我很确定这可以用一种正则表达式完成。

如果你能解释一下正则表达式模式究竟发生了什么,这对我有帮助。

如果您可以限制“&”内的字符序列,则可获得积分和“;”。

1 个答案:

答案 0 :(得分:5)

' John & Sandy are awesome & rock; They are also weird.'.replace(
    /(&[^\s;]*;)|\w/g, function(a, b) {
    return b || '*'; });

结果:

 **** & ***** *** ******* & ****; **** *** **** *****.

在Firefox和Chrome中尝试并为我工作。