我正在尝试编写正则表达式将字符串拆分为数组.它必须使用空格或逗号的分隔符进行拆分,并忽略引用短语内的分隔符(使用单引号或双引号).
到目前为止,我能够通过空格和逗号分隔它,但是我无法让它在引号之间忽略它们而我已经丢失了.
var pattern = /\b\w+[^"', ]+(?!'")/g,
text = "Hello world \"Boston Red Sox\" hello, world, \'boston, red sox\', \'beached whale\', pickup sticks",
output = text.match(pattern);
Run Code Online (Sandbox Code Playgroud)
当前输出:
["Hello", "world", "Boston", "Red", "Sox", "hello", "world", "boston", "red", "sox", "beached", "whale", "pickup", "sticks"]
Run Code Online (Sandbox Code Playgroud)
期望的输出:
["Hello", "world", "Boston Red Sox", "hello", "world", "boston, red sox", "beached whale", "pickup", "sticks"]
Run Code Online (Sandbox Code Playgroud)
任何帮助都会很棒!