基本的に、次のように文字列を分割する必要があります
"one quoted argument" those are separate arguments "but not \"this one\""
結果として引数のリストを取得する
- 「1 つの引用された引数」
- それらの
- それは
- 分ける
- 「でも\"これ\"じゃない」
この正規表現"(\"|[^"])*"|[^ ]+
はほぼ機能しますが、問題は、正規表現が常に (少なくとも Java では)可能な限り長い文字列に一致しようとすることです。
その結果、引用符で囲まれた引数で開始および終了する文字列に正規表現を適用すると、文字列全体と一致し、各引数のグループは作成されません。
この正規表現、マッチャー、パターン、またはそれを処理するものを微調整する方法はありますか?
注:私が使用できる、または類似のものを教えてはいけませGetOpt
んCommandLine.parse
。
私の懸念は、純粋なJava正規表現に関するものです(可能であれば、しかし私はそれを疑っています...)。