Python 正規表現におけるバックスラッシュ エスケープ関数の原理の簡単な分析
本篇文章给大家带来的内容是关于浅析python正则表达式中反斜线的转义功能的原理,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
最近深入研读了正则表达式的一本经典著作,对于在python中使用正则表达式时使用反斜线转义功能时有些心得,特与大家分享。
核心思想:在python中使用正则表达式时要切记反斜线具有两层转义功能,如果你要匹配一个反斜线本身时要注意它必须被转义两次。(除非你使用原始字符串,就是字符串前面加r)
我们先来看一个例子:
import re a = re.match('\\\','\\')
File "<ipython-input-93-6e1102e416ee>", line 2 a = re.match('\\\','\\') ^ SyntaxError: unexpected character after line continuation character
上面这个例子本身就不合语法要求,那么为什么呢? 首先在
python中,因为正则表达式本身是一个字符串,所以它要遵守字符串的规则——反斜线表示转义符
而在正则表达式中反斜线又是一个具有转义功能的元字符,所以反斜线具备了双重转义功能
回到例子中,第一个转义了第二个,此时第二个去除了字符串转义符的身份,但是它还有正则表达式转义元字符的身份,也就是说第二个仍然具备转义功能,那么它转义谁呢?它只能转义第三个,可是第三个它具备两层身份(字符串的转义符和正则表达式的转义元字符)
所以现在有两种可能情况发生:
第一种,第二个无法转义第三个,因为身份不符,一个是正则表达式转义元字符,另一个是字符串转义符
第二种,第二个转义了第三个,但是这种转义也仅仅是去除了一层身份,但是它还有一层身分(转义元字符)结果就是第三个仍然具有转义功能。
总之不管这时发生了哪种情况,第三个最终结果就是仍然具备转义功能,他会转义它后面的单引号,使得整段代码语法错误。
所以正确的写法是再添加一个反斜线,四个反斜线,两两转义之后最终转义成匹配单独一个反斜线的功能
import re a = re.match('\\\\','\\') print(a) #显示的结果match='\\',之所以显示两个反斜线是因为语法规定一个反斜线无法显示(\是转义符)
<_sre.SRE_Match object; span=(0, 1), match='\\'>
当然也可以使用原始字符串的方法,在字符串前面加r,这时里面的反斜线就失去字符串转义符的功能了,本文主要讨论实质原理,不是方法
import re a = re.match(r'\\','\\') print(a)
<_sre.SRE_Match object; span=(0, 1), match='\\'>
以上がPython 正規表現におけるバックスラッシュ エスケープ関数の原理の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Python の正規表現は、Word ファイル処理でテキスト、スタイル、形式を迅速に識別して置換するのに役立つ強力なマッチング ツールです。この記事では、Word ファイル処理に Python 正規表現を使用する方法を紹介します。 1. Python-docx ライブラリをインストールする Python-docx は、Word 文書を Python で処理するための機能ライブラリで、Word 文書の読み取り、変更、作成、保存をすばやく行うことができます。 Python-docx を使用する前に、次のことを確認する必要があります。

Python の正規表現は、テキスト データの正確かつ効率的な一致と検索を実行するのに役立つ強力なツールです。正規表現は数値や金額の処理にも非常に役立ち、数値や金額の情報を正確に検索して抽出できます。この記事では、Python 正規表現を使用して数値と金額を処理する方法を紹介し、読者が実際のデータ処理タスクにうまく対処できるようにします。 1. 数値の処理 1. 整数と浮動小数点数の照合 正規表現では、整数と浮動小数点数を照合するには、d+ を使用して照合します。

コンテナオーケストレーションでは、多くの場合、一部の情報をフィルタリング、照合、置換する必要があります。 Python は、これらの操作を完了するのに役立つ強力なツールである正規表現を提供します。この記事では、正規表現の基本知識、Pythonre モジュールの使用方法、一般的な正規表現アプリケーションなど、コンテナ オーケストレーションに Python 正規表現を使用する方法を紹介します。 1. 正規表現の基礎知識 正規表現( RegularExpression )とは、テキストのパターンを指します。

Python 正規表現は、テキスト データを処理するための強力なツールです。自然言語処理では、テキストを個々の単語に分割する単語分割が重要なタスクです。 Python では、正規表現を使用して単語の分割タスクを完了できます。以下では、Python3 を例として、単語の分割に正規表現を使用する方法を紹介します。 re モジュールのインポート re モジュールは Python の組み込み正規表現モジュールなので、最初にモジュールをインポートする必要があります。定義テキストをインポートする

Python は、コンテンツの抽出をより簡単かつ効率的に行う豊富なライブラリとツールを備えた、広く使用されている高水準プログラミング言語です。その中でも正規表現は非常に重要なツールであり、Python ではコンテンツ抽出に正規表現を使用するための re モジュールが提供されています。この記事では、Python 正規表現を使用してコンテンツを抽出する具体的な手順を紹介します。 1. 正規表現の基本構文を理解する コンテンツ抽出に Python 正規表現を使用する前に、まず正規表現の基本構文を理解する必要があります。

日常のコーディングでは、コードの読みやすさと保守性を高めるために、コードを変更したり再構築したりする必要があることがよくあります。重要なツールの 1 つは正規表現です。この記事では、コードのリファクタリングに Python 正規表現を使用する方法に関する一般的なテクニックをいくつか紹介します。 1. 検索と置換 正規表現で最もよく使用される機能の 1 つは、検索と置換です。コード内のすべての print ステートメントを logging ステートメントに置き換える必要があるとします。次の正規表現を使用して検索できます: prints*((.

Python正規表現は、ラテックスの多層ブラケットを処理し、多くのラテックスで多次元辞書を構築します...

Python 正規表現は、パターン マッチングに基づく文字列処理ツールであり、テキストから必要な情報を迅速かつ効率的に抽出するのに役立ちます。データ構造とアルゴリズムでは、正規表現を使用してテキストの一致、置換、セグメンテーション、その他の機能を実装することができ、プログラミングをより強力にサポートします。この記事では、データ構造とアルゴリズムに Python 正規表現を使用する方法を紹介します。 1. 正規表現の基礎知識 開始する前に、まず正規表現の基礎知識を理解しましょう。 文字セット: 角括弧で表され、
