【发布时间】:2023-04-06 03:07:01
【问题描述】:
我需要解析用于cross-spawn 的字符串
来自以下字符串:
cmd foo bar
cmd "foo bar" --baz boom
cmd "baz \"boo\" bam"
cmd "foo 'bar bud' jim" jam
FOO=bar cmd baz
到一个对象:
{command: 'cmd', args: ['foo', 'bar']}
{command: 'cmd', args: ['foo bar', '--baz', 'boom']}
{command: 'cmd', args: ['baz "boo" bam']}
{command: 'cmd', args: ['foo \'bar bud\' jim', 'jam']}
{command: 'cmd', args: ['baz'], env: {FOO: 'bar'}}
我认为正则表达式是可能的,但我希望避免编写自定义内容。任何人都知道可以做到这一点的现有任何东西吗?
编辑
问题和答案仍然很有价值,但对于我的特定用例,我不再需要这样做。我将改用spawn-command(更准确地说,我将使用spawn-command-with-kill),这不需要command 和args 分开。这将使我的生活更轻松。谢谢!
【问题讨论】:
标签: javascript regex string parsing