ホームページ >バックエンド開発 >Python チュートリアル >Python 正規表現と re ライブラリの概要 (コード例)
この記事では、Python の正規表現と re ライブラリについての紹介 (コード例) を紹介します。一定の参考になる内容です。困っている友人は参考にしてください。お役に立てれば幸いです。
正規表現は、検索パターンを定義する一連の文字です。通常、このパターンは、文字列に対する「検索」または「検索と置換」操作、または入力検証のための文字列検索アルゴリズムによって使用されます。
1. 正規表現の構文
. 任意の 1 文字を表します
[] 文字セット単一文字の値の範囲を指定します
[^] 非文字セット、単一文字の除外範囲を指定します
*前の文字は 0 回または無限に展開されます
前の文字は 1 回または無限に展開されます
? 前の文字は 0 回展開されますまたは 1 回の展開
|左右の式のいずれか 1 つで
Re ライブラリは Python の標準ライブラリで、主に文字列マッチングに使用されます呼び出し方法: import re
2.1. 正規表現文字列の種類
r'text'
生の文字列はエスケープ文字を含まない文字列です。 , それは文字列です 文字はエスケープされますが、生の文字列はエスケープされません、エスケープ記号が正規表現に現れるため、面倒なことを避けるために生の文字列を使用します#2.2. ライブラリのメイン関数 function
2.2.1 . re.search(pattern, string, flags=0)
##pattern : 正規表現の文字列またはネイティブ文字列表現
string : 照合対象の文字列
flags : 正規表現を使用する場合 制御タグ
re.I re.IGNORECASE 正規表現の大文字と小文字を無視します。[A-Z] は小文字と一致します。
re .M re.MULTILINE 正規表現の ^ 演算子は次のことができます。指定された文字列の各行を一致として開始します
re.S re.DOTALL 正規表現文字の . 演算はすべての文字に一致し、デフォルトでは改行を除くすべての文字に一致します
例:
import re match = re.search(r'[1-9]\d{5}', 'BIT 100081') if match: print(match.group(0)) 结果为100081
正規表現の先頭から一致します。文字列を返し、一致オブジェクトを返します
パラメータは検索関数と同じですimport re match = re.match(r'[1-9]\d{5}', 'BIT 100081') print(match.group(0)) 结果会报错,match为空,因为match函数是 从字符串开始位置开始匹配,因为从开始位置没有匹配到,所以为空
2.2.3.re.findall(pattern, string, flags=0)
文字列を検索し、一致するすべての部分文字列をリスト型で返します。
import re ls=re.findall(r'[1-9]\d{5}', 'BIT100081 TSU100084') print(ls) 结果为['100081', '100084']
2.2 .4. re.split(pattern, string, maxsplit=0 、flags=0)
正規表現の一致結果に従って文字列を分割し、リスト型を返します
maxsplit: 分割の最大数。残りの部分は最後の要素として出力
import re re.split(r'[1-9]\d{5}', 'BIT100081 TSU100084') 结果['BIT', ' TSU', ' '] re.split(r'[1-9]\d{5}', 'BIT100081 TSU100084', maxsplit=1) 结果['BIT', ' TSU100081']2.2.5.re.finditer(pattern, string, maxsplit =0, flags=0)
パラメータは search と同じです。
Example:import re for m in re.finditer(r'[1-9]\d{5}', 'BIT100081 TSU100084'): if m: print(m.group(0)) 结果为 100081 100084
文字列内の正規表現に一致するすべての部分文字列を置換し、置換後の文字列を返します
import re re.sub(r'[1-9]\d{5}', ':zipcode', 'BIT100081 TSU100084') 结果为 'BIT:zipcode TSU:zipcode'
2.3 Re ライブラリの別の同等の使用法 (オブジェクト指向)
rst=re.search(r'[1-9]\d{5}', 'BIT 100081') 函数式的调用,一次性操作
pat=re.compile(r'[1-9]\d{5}') rst=pat.search('BIT 100081') 编译后多次操作
.string 照合するテキスト
#Match オブジェクトのメソッドは次のとおりです。
と一致する最小の部分文字列
##?? 前の文字は 0 回または 1 回展開されます。最小一致は
{m,n} です? 前の文字は m 回から n 回展開されます(両端を含む)、最小一致は
以上がPython 正規表現と re ライブラリの概要 (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。