Javascript 使用正则表达式根据分隔符将字符串拆分为数组?

Javascript 使用正则表达式根据分隔符将字符串拆分为数组?,javascript,Javascript,我正在尝试拆分以下字符串: s = "Whyy noot this thing? Noot!" 使用以下分隔符插入到数组中: delimiters = [ ' ', '?', '!' ]; 我相信我可以使用这种表达方式: var array = string.split(); 我可以用正则表达式 但是我不知道在split()中的括号之间写什么。您可以使用来实现这一点 var str = "Whyy noot this thing? Noot!"; var arr =

我正在尝试拆分以下字符串:

s = "Whyy noot this thing? Noot!"
使用以下分隔符插入到数组中:

delimiters = [
    ' ',
    '?',
    '!'
];
我相信我可以使用这种表达方式:

var array = string.split();
我可以用正则表达式

但是我不知道在split()中的括号之间写什么。

您可以使用来实现这一点

var str = "Whyy noot this thing? Noot!";
var arr = str.split(/[\s\?!]+/);

无需转义
。根据是不必要的。我的一条规则是在RegExp中总是转义特殊字符。您是否介意修改您的答案,以便在变量分隔符中设置/[\s\?!]+/并用注释显示哪些字符表示!和空格,然后将其传递到split方法中。答案有MDN文档的参考,您可以深入页面。正如
split
的文档所说,您放置了一个regexp,它匹配您想要用作分隔符的任何内容。如果要使用两个对象作为分隔符,换句话说,要使regexp与两个对象中的任何一个匹配,那么正如regexp的文档所述,可以使用交替运算符(
|
)或字符类(
[]
)。你哪里出了问题?