マインドマップギャラリー Python の正規表現
Python の正規表現 (regex または略して regexp) は、特定のパターンに一致する文字列内の部分文字列を照合するために使用される強力なテキスト処理ツールです。
2024-11-19 08:53:00 に編集されましたThis template shows the structure and function of the reproductive system in the form of a mind map. It introduces the various components of the internal and external genitals, and sorts out the knowledge clearly to help you become familiar with the key points of knowledge.
This is a mind map about the interpretation and summary of the relationship field e-book, Main content: Overview of the essence interpretation and overview of the relationship field e-book. "Relationship field" refers to the complex interpersonal network in which an individual influences others through specific behaviors and attitudes.
This is a mind map about accounting books and accounting records. The main contents include: the focus of this chapter, reflecting the business results process of the enterprise, the loan and credit accounting method, and the original book of the person.
This template shows the structure and function of the reproductive system in the form of a mind map. It introduces the various components of the internal and external genitals, and sorts out the knowledge clearly to help you become familiar with the key points of knowledge.
This is a mind map about the interpretation and summary of the relationship field e-book, Main content: Overview of the essence interpretation and overview of the relationship field e-book. "Relationship field" refers to the complex interpersonal network in which an individual influences others through specific behaviors and attitudes.
This is a mind map about accounting books and accounting records. The main contents include: the focus of this chapter, reflecting the business results process of the enterprise, the loan and credit accounting method, and the original book of the person.
Python の正規表現
1. 基本的な文法
通常の文字
自分と一致する
文字、数字、漢字など。
例: 「abc」は文字列内の「abc」と一致します。
特殊文字 (メタ文字)
特別な意味を持つ文字
ピリオド (.)、アスタリスク (*)、プラス記号 () など。
例: 「.*」は任意の数の任意の文字に一致します。
文字クラス
指定された範囲内の文字と一致します
たとえば、abc は「a」、「b」、または「c」に一致します。
たとえば、09 は任意の数値に一致します。
アンカーポイント
指定した位置に合わせる
たとえば、^ は文字列の先頭と一致します。
たとえば、$ は文字列の終了位置と一致します。
量指定子
指定された文字または文字クラスの出現数
たとえば、* は 0 回以上を意味します
1回以上の場合
? は 0 回または 1 回を意味します
たとえば、{n} は正確に n 回を意味します
たとえば、{n,} は少なくとも n 回を意味します
たとえば、{n,m} は、少なくとも n 回、最大で m 回を意味します。
グループ化とキャプチャ
括弧()で示す
部分式の作成
後で使用するために一致するテキストをキャプチャします
またはオペレータ
複数の式のいずれか 1 つに一致します
ab が「a」または「b」に一致する場合
エスケープ文字
特殊文字の特殊な意味を解除する
たとえば、\* はリテラルのアスタリスク (*) を表します。
2.reモジュール機能
コンパイル()
正規表現パターンをコンパイルする
再利用可能な正規表現オブジェクトを生成する
検索()
正規表現に一致する文字列内の最初の位置を検索します。
一致オブジェクトを返します
マッチ()
正規表現を文字列の先頭から一致させる
一致が成功した場合は、一致するオブジェクトを返します
フルマッチ()
文字列全体を正確に一致させる
一致が成功した場合は、一致するオブジェクトを返します
findall()
正規表現に一致する文字列のすべての部分を検索します
リストを返す
ファインダー()
正規表現に一致する文字列のすべての部分を検索します
イテレータを返します
サブ()
正規表現に一致する文字列の部分を置換します。
置換された文字列を返します
スプリット()
正規表現に一致する部分に基づいて文字列を分割する
リストを返す
3. オブジェクトのマッチング
グループ()
正規表現に一致する部分を返します
グループ番号を指定して、特定の一致する部分を取得できます
グループ()
一致するすべてのサブグループを含むタプルを返します
一致した部分全体を含める
始める()
試合の開始位置を返します
終わり()
一致の終了位置を返します
スパン()
一致の開始位置と終了位置を含むタプルを返します。
4. 正規表現の高度な機能
後ろ向きな主張
ゼロ幅アサーションの一種
場所は一致しますが、一致結果からは除外されます
たとえば、(?<=abc)def は、前に「abc」がある場合にのみ「def」と一致します。
先読みアサーション
ゼロ幅アサーションの一種
場所は一致しますが、一致結果からは除外されます
たとえば、(?=abc)def は、その後に「abc」が続く場合にのみ「def」と一致します。
否定的な後読みアサーション
ゼロ幅アサーションの一種
場所は一致しますが、一致結果からは除外されます
たとえば、(?<!abc)def は、前に「abc」がない場合にのみ「def」と一致します。
否定先読みアサーション
ゼロ幅アサーションの一種
場所は一致しますが、一致結果からは除外されます
たとえば、(?!abc)def は、その後に「abc」が続かない場合にのみ「def」と一致します。
名前付きキャプチャグループ
キャプチャグループに名前を付けます
形式 (?P<name>pattern) を使用します。
一致したコンテンツは名前で参照できます
大文字と小文字を無視する
一致では大文字と小文字が区別されません
re.IGNORECASE または re.I フラグを使用する
複数行モード
^ と $ の動作を変更する
re.MULTILINE または re.M フラグを使用する
^ は各行の先頭に一致し、$ は各行の末尾に一致します
5. 正規表現の一般的な使用法
テキスト処理
テキスト内の特定のパターンを検索して置換する
データの検証
入力データが正しい形式であることを確認してください
ウェブクローラー
Web ページから特定の情報を抽出する
ログ分析
ログファイル内の特定のパターンを解析する
プログラミング言語での文字列の処理
コード内の文字列データを検索して操作する
6.定義と目的
正規表現の概念
文字列内の文字の組み合わせを照合するために使用されるパターン
通常の文字 (文字や数字など) と「メタキャラクター」と呼ばれる特殊な文字で構成されます。
Pythonの正規表現モジュール
再モジュール
Python標準ライブラリの正規表現処理モジュール
正規表現のコンパイル、検索、置換などの機能を提供します。
7. 正規表現の記述スキル
ニーズを理解する
一致する明示的なテキスト パターン
単純なものから複雑なものまで
まずは単純な正規表現を記述し、徐々に複雑さを増していく
グループ化とキャプチャの使用
キャプチャをグループ化して名前を付けることで有用な情報を抽出する
テストとデバッグ
テストにはオンライン ツールまたは re モジュールの機能を使用します
貪欲なマッチングを避ける
量指定子を使用する場合は、貪欲と非貪欲の違いに注意してください
パフォーマンスを考慮する
大量のデータの場合は、正規表現によるパフォーマンスへの影響に注意してください。
正規表現の拡張機能を学ぶ
肯定的なアサーションと否定的なアサーションなどの高度な機能について詳しく学ぶ
ドキュメントと例を読む
re モジュールの公式ドキュメントと関連チュートリアルを読んでください。
練習する
正規表現を書いて理解する能力を向上させるためにさらに練習してください