Python正規表現では、名前付きグループと名前なしグループの両方が '('と ')'で定義されます。これは奇妙な動作につながります。正規表現Python、正規表現、名前付きグループ、 "論理演算子"
"(?P<a>1)=(?P<b>2)"
は値「2」と「1 = 2」「」値「1」と名付けグループと「b」をという名前のグループを見つけるテキストに使用します。しかし、私は「論理的または」演算子を使用して、複数のルールを連結し、以下の正規表現したい場合:「1 = 2」は「1 = 2」の値を持つ無名のグループを見つける同じテキストで使用
"((?P<a>1)=(?P<b>2))|(?P<c>3)"
。正規表現エンジンは、グループ "a"と "b"を名前のないグループとして囲む "("と ")"を扱い、見つかったと報告していることを理解しました。しかし、私は無名のグループが報告されることを望んでいない、私はちょうど "|"複数の正規表現を一緒に「接着」するために使用します。寄生の無名のグループを作成せずに。それはPythonでそうする方法ですか?
ありがとう、魅力的です^ _ ^ – grigoryvp