在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谢谢-错误添加