Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中使用多个分隔符拆分字符串并保留它们_Javascript_Regex_Split - Fatal编程技术网

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

在javascript中使用多个分隔符拆分字符串并保留它们,javascript,regex,split,Javascript,Regex,Split,我想拆分这样的字符串: "'Hi, how are you?' he said." 在此阵列中: ["'", "Hi", ",", " ", "how", " ", "are", " ", "you", "?", "'", " ", "he", " ", "said", "."] 在我的js脚本中。我尝试了一些regexp,但我不太擅长使用它。有人能帮我吗?这是我可能会用到的: "'Hi, how are you?' he said.".match(/\w+|./g); 它对给定字符串中的

我想拆分这样的字符串:

"'Hi, how are you?' he said."
在此阵列中:

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

在我的js脚本中。我尝试了一些regexp,但我不太擅长使用它。有人能帮我吗?

这是我可能会用到的:

"'Hi, how are you?' he said.".match(/\w+|./g);
它对给定字符串中的单词(
\w+
)和其他字符(
)执行全局匹配

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

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

\w+
-用于匹配字符组

\W
-用于匹配非字符


|
-
或上述两个运算符之间的
运算符(字符或非字符)

正是我所需要的。谢谢你,我会尽快接受你的回答。无论如何,我注意到使用这个正则表达式时,我丢失了字符串中的所有字符,有没有保留这些字符的建议?@Federinik只需将
\n
添加到其他字符组中即可。也可以使用
/\w+|\w/g
完成。
i
修饰符实际上是不必要的,因为您只使用大小写无关的字符classes@Bergi谢谢-错误添加