私はPythonで正規表現を使って遊んでいます。ここで(RegExrを通じてデバッグ)私がこれまで得てきたものだ:Pythonでグルーピングする正規表現
@@(VAR|MVAR):([a-zA-Z0-9]+)+(?::([a-zA-Z0-9]+))*@@
それでは、私が一致しようとしているが、このようなものです:
@@VAR:[email protected]@
@@VAR:param2:[email protected]@
@@VAR:param4:param5:param6:[email protected]@
基本的に、あなたはVARやMVARいずれかが続いていコロンで区切り、いくつかのパラメタ名の後に、最後の文字(@@)または別の:とパラメタを続けます。
正規表現のグループには、VAR、最初のパラメータ、最後にパラメータリストがあります(最後の例では、3番目のグループは0になります)。私はグループが(...)で作成されていることを理解していますが、正規表現が複数のグループにマッチする方法はないので、param5、param6、および0は最大3つのグループを持つのではなく、 ?
私はこの文字列に一致しなければならないことを避けたいと思っています。これは分割する必要があります:これは正規表現で行うことができると思います。おそらく私はこれに間違った方法で近づいています。
私は、後処理ではなく、マッチングプロセスで見つけて分割できるかどうかを確認しようとしています。
よく、よく、その質問に答えます。正規表現で文字列を見つけ、splitを使って解析します。 – wibarr