Javascript “如何替换除内部空间以外的所有空间”;a“b”;用正则表达式?

Javascript “如何替换除内部空间以外的所有空间”;a“b”;用正则表达式?,javascript,regex,Javascript,Regex,除了字符“a”和“b”之间的空格(如“a b”)之外,我如何将所有空格字符替换为字母“u” 哦,这是用JavaScript编写的。试试这个正则表达式: /(?!a)\s(?!b)/g 编辑:这不是KendallFrey指出的最佳解决方案。使用以下方法: var result:String = string.replace(/([^a]) | ([^b])/g, "$1_$2"); 对上述内容的简化解释是,它取代了一个空间: 前面有一个字符,而不是a 后跟除b 注意:要将正则表达式概括为包含制

除了字符“a”和“b”之间的空格(如“a b”)之外,我如何将所有空格字符替换为字母“u”

哦,这是用JavaScript编写的。

试试这个正则表达式:

/(?!a)\s(?!b)/g
编辑:这不是KendallFrey指出的最佳解决方案。

使用以下方法:

var result:String = string.replace(/([^a]) | ([^b])/g, "$1_$2");
对上述内容的简化解释是,它取代了一个空间:

  • 前面有一个字符,而不是
    a
  • 后跟除
    b
  • 注意:要将正则表达式概括为包含制表符和换行符,请使用
    \s
    ,如下所示:

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

    这是错误的。这只替换后面没有
    b
    的空格。
    (?!a)
    什么也不做。
    var result:String = string.replace(/([^a])\s|\s([^b])/g, "$1_$2");