javascript - 如何通过避免转义引号来用双引号单词分割字符串

标签 javascript regex

如何分割下面的字符串

var test = 'sample "test""test2"   "test3\\"" sample2"last';

使用 javascript regx 转换为数组 ['sample','"test"','"test2"','"test3\\""','sample2"last'] ?

下面添加了一些示例输入和预期输出。

sample1 : ' test1 "test2" test3 "test four\\"" test" d'
output [' test1','"test2"','test3','"test four\\""','test" d']

sample2 : ' test1 test2'
output [' test1 test2']

sample3 : ' test1 "sub test2'
output [' test1 "sub test2']

sample4 : ' test1 "sub test2"'
output [' test1 ','"sub test2"']

sample5 : ' "test1" "sub test2" here'
output ['"test1"','"sub test2"', 'here']

最佳答案

您可以按非字母数字字符拆分字符串,然后删除任何长度为 0 的元素。

var test = 'sample "test""test2"   "test3\"" sample2"';

var array = test.split(/\W/g).filter(e => e.length>0);

console.log(array);

关于javascript - 如何通过避免转义引号来用双引号单词分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60483610/

相关文章:

javascript - 在线测试工具中的正则表达式运行良好,但在应用程序中应用时会丢失许多匹配项

连接正则表达式对象的 Pythonic 方法

javascript - WP enqueue 方法无法加载自定义脚本

javascript - 从 PHP 创建 JavaScript 数组 – 方括号和大括号

php - jquery中如何比较两个日期

javascript - 将输入文件传递给后台脚本

Java正则表达式

python - 正则表达式 - 如果不匹配则匹配这个 - Python

regex - grep 与正则表达式的电话号码

javascript - 使用 Three.js 绘制尺寸线和 3D 立方体