Javascript 如何对文本字符串求反
我试图匹配传递给curl命令的所有参数,如下所示:Javascript 如何对文本字符串求反,javascript,regex,Javascript,Regex,我试图匹配传递给curl命令的所有参数,如下所示: curl -X POST --pro2gress -c --command=ASD --dos pl -slp "asd" --asdeee "asd \"hh\" s" "string" 对此 curl (-X POST) (--pro2gress) (-c) (--command=ASD) (--dos pl) (-slp "asd") (--asdeee "asd \"hh\" s") "string" 到目前为止,我所拥有的一切都是
curl -X POST --pro2gress -c --command=ASD --dos pl -slp "asd" --asdeee "asd \"hh\" s" "string"
对此
curl (-X POST) (--pro2gress) (-c) (--command=ASD) (--dos pl) (-slp "asd") (--asdeee "asd \"hh\" s") "string"
到目前为止,我所拥有的一切都是匹配的,除了组--从asdeee到string“
我正在寻找一种不停地从“到”看的方式
希望有人能给我指出正确的方向
这是要玩的垫子
(编辑)语言是javascript
谢谢 要匹配所有选项,请使用以下选项:
--?\S+(?:[ ]+(?!-)(?:[\w-]+|(?<!\\)"(?:\\"|[^"\r\n])*+"))?
看
匹配一个或两个连字符--?
匹配任何非空白字符(空格、制表符等)的字符\S+
- 非捕获组
可以选择匹配(?:[]*(?!-)(?:[\w-]+|“(?:\\“|[^”\r\n])*”))
空格字符后面不带连字符,然后[]+(?!-)
任意数量的连字符和单词字符(包括数字),或[\w-]+
|
可能包含转义引号的双引号字符串“(?:\\“\[^”\r\n])*”
“
打开双引号。请注意,n“完整的味道”“,在这个阶段,我有一个消极的回顾,以确保前面的不是反斜杠,但在这种情况下,这并不重要。现在我们已经过了开盘价,我们想要匹配什么?或者:转义引号\\“
,因为它们在字符串中有效…或者任何既不是引号也不是新行字符的字符,这就是[^”\r\n]
的含义。当然,如果您希望字符串跨行匹配,请删除\r\n
。。。我们匹配了零次或更多次,然后匹配了结束引号“
这有帮助吗?非常有帮助。谢谢。我正在使用javascript,一边写一边编辑问题。
--?\S+(?:[ ]+(?!-)(?:[\w-]+|(?<!\\)"(?:\\"|[^"\r\n])*+"))?
var regex = /--?\S+(?:[ ]*(?!-)(?:\w+|"(?:\\"|[^"\r\n])*"))?/g;