如何在RegEx中替换“a b”内的空格以外的所有空格?

时间:2013-01-06 00:04:07

标签: javascript regex

如何用字母“_”替换所有空格字符,除了字符“a”和“b”之间的空格,如“a b”。

// this is what I have so far to save someone time (that's a joke)
var result:String = string.replace(/ /g, "_");

哦,这是用JavaScript。

2 个答案:

答案 0 :(得分:4)

使用此:

var result:String = string.replace(/([^a]) | ([^b])/g, "$1_$2");

上述内容的简化说明是它取代了以下空格:

  1. 前面有a
  2. 以外的字符
  3. 后跟一个b
  4. 以外的字符

    注意:要将正则表达式概括为包含标签和换行符,请使用\s,如下所示:

    var result:String = string.replace(/([^a])\s|\s([^b])/g, "$1_$2");
    

答案 1 :(得分:2)

试试这个正则表达式:

/(?!a)\s(?!b)/g

编辑:这不是KendallFrey指出的最佳解决方案。