Python 正規表現の高度な使用法
Python の場合、正規表現を学習するには、モジュール re の使用方法を学習する必要があります。この記事では、誰もがマスターすべき高度なテクニックをいくつか紹介します。
正規表現オブジェクトをコンパイルする
re.compile 関数は、パターン文字列とオプションのフラグ パラメーターに基づいて正規表現オブジェクトを生成します。このオブジェクトには、正規表現の一致と置換のための一連のメソッドがあります。使用法には若干の違いがあります。たとえば、文字列を一致させるには、次のメソッドを使用できます。
compile を使用する場合は、次のようになります。
なぜこのように使用する必要があるのですか?実際、正規表現のマッチングの速度を向上させるために、正規表現オブジェクトが再利用されます。 2 つの方法の効率を比較してみましょう:
2 番目の方法の方がはるかに高速であることがわかります。実際の作業では、コンパイルされた正規表現オブジェクトを使用すればするほど、効果が向上することがわかります。
グループ
一致するコンテンツをグループ化する使用法を見たことがあるかもしれません:
一致するオブジェクトに括弧を追加することで、一致結果を正確に一致させることができます。ネストされたグループ化を実行することもできます:
グループ化はニーズを満たすことができますが、可読性が低い場合があります。その場合は、グループ化に名前を付けることができます:
現在、可読性は非常に高くなっています。
文字列マッチング
sed を学習したことのある学生は、次の置換の使用法を見たことがあるかもしれません:
この 1 は、前の通常の一致の結果を表します。上記の sed は、一致した結果に角かっこを追加します。
re モジュールにはこのような使用法もあります:
名前付きグループ化を使用することも可能です:
近隣マッチング (周囲を見回す)
re モジュールは近隣マッチングもサポートしています。例を見てください:
通常のマッチング時に関数を使用する
これまでに説明したことのほとんどは式のマッチングですが、場合によっては、特に置換の場合、要件がより複雑になることがあります。
たとえば、次の文のように、チャット レコードを Slack の API 経由で取得できます。
そのうちの <@U1EAT8MG9> と <@U0K1MF23Z> は、Slack によってカプセル化されているため、インターフェイスはこの対応関係を取得します。
結果は次のようになります。
対応関係を解析した後、山かっこも削除されることを望みます。置換結果は「@xiaoming, @laolin確かにこのようです」
正規表現を使用する方法
ですから、もちろんパターンを関数にすることもできます
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)

ホットトピック









LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

Pythonでは、文字列を介してオブジェクトを動的に作成し、そのメソッドを呼び出す方法は?これは一般的なプログラミング要件です。特に構成または実行する必要がある場合は...

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...

この記事では、numpy、pandas、matplotlib、scikit-learn、tensorflow、django、flask、and requestsなどの人気のあるPythonライブラリについて説明し、科学的コンピューティング、データ分析、視覚化、機械学習、Web開発、Hの使用について説明します。

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法
