Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで正規表現の後方参照はどのように機能しますか?


グループ化 正規表現の一部を括弧で囲んでグループ化します。このようにして、単一の文字ではなく演算子をグループに適用します。

グループと後方参照のキャプチャ

括弧は部分式をグループ化するだけでなく、後方参照も作成します。正規表現のグループ化された部分と一致する文字列の部分は、後方参照に格納されます。後方参照を使用して、正規表現の一部を再利用します。

サブ式が括弧で囲まれている場合は、\1または$1などでアクセスできます。

たとえば、正規表現\ b(\ w +)\ b \ s + \ 1 \ bは、tahiti tahitiなどの繰り返される単語と一致します。これは、(\ w +)の括弧がグループ1の単語をキャプチャするためです。後方参照\1は、グループ1によってキャプチャされた文字と一致します。

import re s ='Tahiti Tahiti Atoll' result =re.findall(r'\ b(\ w +)\ b \ s + \ 1 \ b'、s)print result

出力 これにより出力が得られます

['Tahiti']

  1. 正規表現を使用してPythonで数字以外の数字のみを照合するにはどうすればよいですか?

    次のコードは、Python正規表現を使用して、指定された文字列の数字以外にのみ一致します。 例 import re m = re.search(r'\D+', '5Need47for Speed 2') print m 出力 <_sre.SRE_Match object at 0x0000000004FE6648> 次のコードは、指定された文字列内のすべての非数字を検索し、それらをリストとして出力します 例 import re m = re.findall(r'\D+', '5Need47for Speed 2') p

  2. Pythonで正規表現修飾子はどのように機能しますか?

    正規表現リテラルには、マッチングのさまざまな側面を制御するためのオプションの修飾子が含まれる場合があります。修飾子はオプションのフラグとして指定されます。排他的論理和(|)を使用して複数の修飾子を指定でき、これらのいずれかで表すことができます- 以下は、さまざまなre修飾子とその機能のリストです。 1. re.I 大文字と小文字を区別しないマッチングを実行します。 2. re.L 現在のロケールに従って単語を解釈します。この解釈は、アルファベットのグループ(\wと\W)、および単語の境界の動作(\bと\B)に影響します。 3 re.M $を(文字列の終わりだけでなく)行の