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

Python正規表現で疑問符リテラルを使用するのはなぜですか?


疑問符リテラルはPython正規表現でさまざまな方法で使用されます

特殊文字'?'

特殊文字として'?'結果のREを、前のREの0回または1回の繰り返しと一致させます。アブ? 「a」または「ab」のいずれかに一致します

疑問符の文字通り'?' Pythonのドキュメントに従って次のように使用されます。

数量詞を欲張りでないものにする

*?, +?, ??

'*'、'+'、および'?'修飾子はすべて貪欲です。それらは可能な限り多くのテキストに一致します。この動作が望ましくない場合があります。 RE<。*>が'b 'と一致する場合、''だけでなく、文字列全体と一致します。追加しますか?修飾子が貪欲でないまたは最小限の方法で一致を実行させた後。できるだけ少ない文字が一致します。 RE <。*?>を使用すると、「」のみに一致します。


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

    以下のコードは、指定された文字列の単語以外のすべての文字と一致し、それらのリストを出力します。 例 import re s = 'ab5z8d*$&Y@' regx = re.compile('\W') result = regx.findall(s) print result 出力 これにより出力が得られます ['*', '$', '&', '@']

  2. 正規表現を使用してPythonで単語を照合するにはどうすればよいですか?

    次のコードは、指定された文字列の「meeting」という単語と一致します。 前向きな先読みアサーションと後ろ向きアサーションを使用して、囲んでいる文字を尊重しますが、一致には含めません。 例 import re s = """https://www.google.com/meeting_agenda_minutes.html""" result = re.findall(r'(?<=[\W_])meeting(?=[\W_])', s) print result 出力 ['meeting']