正则表达式用于获取逗号和单词之间的空格

时间:2013-07-29 09:15:51

标签: javascript regex

我正试图在javascript函数中获取搜索词。我需要按以下格式输出搜索字词:

原始

search term 1,searchte.rm 2abc ,, , searchterm3

期望输出:

search term 1&searchte.rm 2abc&searchterm3

基本上,我想“获取”搜索字词之间的逗号和空格,并将它们转换为简单的&

我试过的正则表达式是/[-'"\w\s.]+/g,它获取实际的搜索词,而不是中间的空格。 /[,]+/g获取逗号,但我不知道如何使用正则表达式有条件地获得“多个空格加逗号”或“多个逗号加空格”。

什么正则表达式会使上面的代码输出正确?有没有我在这里没想到的用例?

2 个答案:

答案 0 :(得分:3)

试试/\s*,[,\s]*/。这匹配任意数量的初始空格,后跟至少一个逗号,然后是任意数量的空格逗号。

答案 1 :(得分:1)

请尝试以下操作:

> 'search term 1,searchte.rm 2abc ,, , searchterm3'.replace(/\s*,[,\s]*/g, '&')
"search term 1&searchte.rm 2abc&searchterm3"