javascript正则表达式替换括号之间的空格

时间:2013-07-10 18:49:55

标签: javascript regex

如果在括号之间,我如何使用JS正则表达式替换空格的所有出现? 所以,我想要的是:

myString = "a scentence (another scentence between brackets)"
myReplacedString = myString.replace(/*some regex*/)
//myReplacedString is now "a scentence (anotherSPACEscentenceSPACEbetweenSPACEbrackets)"

编辑: 我试过的是这个(我对正则表达式很新)

myReplacedString = myString.replace(/\(\s\)/, "SPACE");

2 个答案:

答案 0 :(得分:4)

你也许可以使用正则表达式:

/\s(?![^)]*\()/g

这将匹配任何空间,前面没有开口支架,空间和开口支架之间没有关闭支架。

这是demo

编辑:我没有考虑句子不以括号结尾的情况。然而,@ thg435的正则表达式涵盖了它:

/\s(?![^)]*(\(|$))/g

答案 1 :(得分:3)

我不确定一个正则表达式,但你可以使用两个。一个用于获取()内的字符串,另一个用' '替换'SPACE'

myReplacedString = myString.replace(/(\(.*?\))/g, function(match){
    return match.replace(/ /g, 'SPACE');
});