1

私は正規表現にまったく慣れていないので、質問してから非常にばかげたことをしたほうがよいでしょう。コマンド ラインから実行する Java アプリケーションがあり、非常に優れた署名があります。

java applicationName -mode=create -some.nice.arg=XXX.XXX.XXX.XXX:XXXX -another.nice.arg=value2 -third.nice.arg=value3 -again.nice.arg=value4 ... -nth.nice.arg=value_n+1

これは望ましい形式です。まあ、少なくとも十分に近い。これに一致し、次のような引数フィールドを選択する正規表現を作成しようとしています:

  • モード=作成
  • some.nice.arg=XXX.XXX.XXX.XXX:XXXX
  • another.nice.arg=value2
  • third.nice.arg=値3
  • again.nice.arg=value4
  • ...
  • nth.nice.arg=value_n+1

たとえば、IPアドレスの正規表現を作成するのに問題はありませんが、この全体に一致する正規表現を作成することはできません. これまでのところ、私の最善の策は次のとおりです。

\w+[ ]{1}\w+[ ]{1}[-]{1}(\w+[=]{1}\w+){+}

たくさんの問題。たとえば、\w+ は「.」と一致しません。chars ですが、確実に存在します。または別の例: mode には次のオプションのいずれかを指定できます。

  • 作成
  • アップデート
  • クリア

2番目の問題は言うまでもなく、最初の問題でもちょっと撃ちました。

いつも助けてくれてありがとう!- ジョーイ

4

3 に答える 3