如何对字面值字符串求反



我试图匹配传递给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"

到目前为止,我已经匹配了从——asdeee到string"

的所有组。
/-{1,2}[dw-]+[ =]+[^-]*/g

我正在寻找一种从";不停在"

希望有人能给我指出正确的方向。

(Edit)语言为javascript

谢谢!

要匹配所有选项,请使用:

--?S+(?:[ ]+(?!-)(?:[w-]+|(?<!\)"(?:\"|[^"rn])*+"))?

看演示。

对于JavaScript(没有所有格量词,没有向后看),您可以使用以下lite版本:

var regex = /--?S+(?:[ ]*(?!-)(?:w+|"(?:\"|[^"rn])*"))?/g;

看演示。

  • --?匹配一个或两个连字符
  • S+匹配任何非空白字符(空格,制表符等)
  • 非捕获组(?:[ ]*(?!-)(?:[w-]+|"(?:\"|[^"rn])*"))?可选地匹配…
  • [ ]+(?!-)空格字符后面没有连字符,然后
  • [w-]+任意数量的连字符和单词字符(包括数字),或|
  • "(?:\"|[^"rn])*"一个双引号字符串,可以包含转义引号

最新更新