ホームページ >バックエンド開発 >Python チュートリアル >Python で正規表現を実装する方法

Python で正規表現を実装する方法

WBOY
WBOY転載
2023-05-11 17:40:061480ブラウズ

Python 正規表現

正規表現自体はプログラミング言語に依存しない知識ですが、プログラミング言語にも依存します。実装にはいくつかの違いがあり、より多くの機能をサポートするものと、より少ない機能をサポートするものがあります。

正規表現は実際に広く使用されているツールなので、言語なしで学習することは信頼できないと思います。

正規表現関数の概要

正規表現メイン API 関係図

Python で正規表現を実装する方法

この図は私が個人的に作成したものです。ここで基本的に関数間の関係が明確になったと思います。関数の関数は次のとおりです:

  • match はテキストの先頭から正規表現に一致し、一致するオブジェクトを返します。そうでない場合は return None

  • #search はテキスト全体の正規表現に一致し、最初に一致したオブジェクトを返します。そうでない場合は None を返します。

  • sub テキスト置換に正規表現を使用します (正規表現の機能: 検索と置換)

  • findall はテキスト全体の正規表現と一致します。一致するすべての結果をリストとして返す式。

  • finder はテキスト全体の正規表現と一致し、一致するすべての結果をイテレータとして返します。

  • split 正規表現を使ってテキストを分割する

ご覧のとおり、·re· にはすぐに使える関数がたくさんあります。 , 次に re.compile 以下に同じ名前の関数がたくさんあります。 ·re·モジュールの直下には、簡単に使えるように公式で提供されている関数が用意されており、最もオーソドックスな使い方はre.compileを使用する方法です。 したがって、次のコンテンツでは、基本的に re.compile と以下のメソッドを使用してそれを実現します。

re.compile 関数

compile この関数は、正規表現をコンパイルし、match( ) の正規表現 (パターン) オブジェクトを生成するために使用されます。 および search() およびその他の関数。

構文:

re.compile(pattern[, flags])
  • パターン: 文字列形式の正規表現

  • フラグはオプションで、一致するパターンを示します大文字と小文字の区別や複数行モードなど、特定のパラメータは次のとおりです:

    • #re.I Ignore case

    • re.L 複数行モード

    • re.S は「.」と改行を含む任意の文字です (「.」には改行は含まれません)

    • re.U は特殊文字セット \w、\W、\b、\B、\d、\D、\s、\S を表し、Unicode 文字属性データベース
    • ## に依存します。

      #re. ##学習テンプレート
    • 次は正規表現の内容を少しずつ学んでいきますが、とても面白いです!面白くて興奮しました!

    • 常に使用するサンプル テンプレートです。このテンプレートはこのブログで最も重要なものであり、これ以降のコンテンツはこれをベースに展開されます。ですから、よく理解してください。
import re

s = 'runoob 123 google 456'
result1 = re.findall(r'\d+', s)

pattern = re.compile(r'\d+') # 查找数字
result2 = pattern.findall(s)
result3 = pattern.findall(s, 0, 20)


print(result1)
print(result2)
print(result3)


"""
output:
[‘123', ‘456']
[‘123', ‘456']
[‘123', ‘45']
"""

注:

正規表現 regexp は、開始前に

r プレフィックスを使用します。これの目的は次のとおりです。正規表現でエスケープ文字を多量に使用すると、全体の読みやすさが損なわれることを避けるため。

Python の正規表現には非常に使いやすいメソッドがたくさんありますが、ここではあまり紹介しません。私たちは常に上記のパターンを使用します。これらの使いやすいメソッドはそれを一種のカプセル化したものにすぎず、この基本的なメソッドの使い方を学ぶことは自然に他のメソッドにつながるからです。

Python で正規表現を実装する方法一致するオブジェクトは正規表現に関する情報を取得できます。その最も重要なメソッドとプロパティは次のとおりです:

メソッド/プロパティ

目的

group()start()マッチの開始位置を返すマッチの終了位置を返す一致する (開始、終了) 位置を含むタプルを返します
通常の一致する文字列を返します
end()
span( )

以上がPython で正規表現を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。