首页 > 解决方案 > javascript:如何使用空格拆分此命令行字符串,但 args 包含空格

问题描述

我试图解析的命令行字符串是这样的:

   screenshotz [ 'li[title="about us"] a', 3,2 ] 
div.react-bs-container-body tr > td:nth-child(1)

我期望列表中有以下 3 项:

    [`screenshotz`,`['li[title="about us"] a', 3,2]`,
 `div.react-bs tr > td:nth-child(1)`]

我正在做一个command.split(/[A-z] /g),但是,我最终得到的远不止 3 个,它考虑了第二个和最后一个参数中的每个空格。

基本上我需要允许几乎任何类型的字符,但是一个明确的规则是用户可以在没有[ ... ]字符的情况下提交:

screenshot div.react-bs-container-body tr > td:nth-child(1)

应该返回[screenshot, div.react-bs....]

它总是遵循这个规则,[...]不能在 css 选择器之后。

如何使用“外部”而不是命令中单个参数参数内部的空格来拆分字符串?

所以它不应该在参数参数字符串中分割空格。例如,css 有大量空间,但它都应该是一个 arg 参数。

标签: javascriptregex

解决方案



推荐阅读