答えを見つけるためにたくさんの質問を読んでいますが、見逃していたらごめんなさい。
改行文字のみを含むテキストがあるとしましょう。
text ='\n'
正規表現はバックスラッシュ文字 ('\') を使用して Python のような特別な意味の文字をエスケープするため、この回答が示唆するように生の文字列表記を使用して改行文字を一致させます。(間違っていたら訂正してください)
したがってregex = re.compile(r'\n')
、正規表現パーサーはバックスラッシュと文字「n」を読み取り、改行文字として解釈できます。
私の質問は、なぜ
regex = re.compile('\n')
も機能するのですか?
私がやろうとしregex.match(text)
た結果は<_sre.SRE_Match object; span=(0, 1), match='\n'>
、生の文字列表記と同じです。
ここに書かれている文書のせいでしょうか?それは言う:
Python 文字列リテラルでサポートされている標準エスケープのほとんどは、正規表現パーサーでも受け入れられます: \a \b \f \n \r \t \v \x \\
誰か詳しく説明してくれませんか?