在javascript中使用多个分隔符拆分字符串并保留它们

时间:2014-07-02 15:06:51

标签: javascript regex split

我想分割一个这样的字符串:

"'Hi, how are you?' he said."

在这个数组中:

["'", "Hi", ",", " ", "how", " ", "are", " ", "you", "?", "'", " ", "he", " ", "said", "."]

在我的js脚本中。我尝试了一些正则表达式,但我并不擅长使用它。任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:3)

这是我可能会使用的:

"'Hi, how are you?' he said.".match(/\w+|./g);

它对给定字符串中的单词(\w+)和其他字符(.)执行全局匹配。

答案 1 :(得分:2)

"'Hi, how are you?' he said.".match(/\w+|\W/g)

//output
["'", "Hi", ",", " ", "how", " ", "are", " ", "you", "?", "'", " ", "he", " ", "said", "."]

<强>解释

\w+ - 匹配字符组

\W - 匹配非角色

上面两个之间的

| - Or运算符(字符或非字符)