逗号的正则表达式后跟空格或逗号

时间:2012-09-11 11:24:31

标签: javascript regex

是否可以制作具有多个分隔符的正则表达式?例如,我想分割一个字符串,它可以有两种形式:1。“string1,string2,string3”或2.“string1,string2,string3”。我一直试图用javascript做到这一点但到目前为止没有成功。

3 个答案:

答案 0 :(得分:23)

只需使用正则表达式split()

var string = "part1,part2, part3, part4,    part5",
    components = string.split(/,\s*/);

JS Fiddle demo

我使用*而不是?的原因仅仅是因为它不允许使用空格或许多空格。而?匹配零或一个空格(这正是你所要求的,但即便如此)。

顺便说一句,如果逗号之前可能有空格,那么修改split()正则表达式可能值得:

var string = "part1,part2  , part3, part4,    part5",
    components = string.split(/\s*,\s*/);
console.log(components);​

JS Fiddle demo

将提供的字符串拆分为零或多个空格,后跟逗号,后跟零或多个空格。当然,这可能完全没必要。

参考文献:

答案 1 :(得分:5)

是的,使用\s

使空白(?)可选
var s = "string1,string2,string3";
s.split(/,\s?/);

答案 2 :(得分:1)

除了席尔瓦

万一你怀疑它可以有多个空格然后使用(或没有空格)

var s = "string1, string2,  string3";
s.split(/,\s*/);