是否可以使用多个定界符制作一个正则表达式?例如,我想分割一个字符串,它可以有两种形式:1.“string1,string2,string3”或2.“string1,string2,string3”。我一直在尝试用javascript做到这一点,但到目前为止没有成功。
最佳答案
只需使用正则表达式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。
它将提供的字符串分割为零个或多个空格,后跟一个逗号,然后为零个或多个空格。当然,这可能完全没有必要。
引用:
string.split()
。 关于javascript - 逗号的正则表达式,后跟空格或逗号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12368628/