Pythonライブラリ-re(正規表現)

5164 ワード

reライブラリはpythonの標準ライブラリであり、自分でpipで追加ダウンロードする必要はなく、直接呼び出すことができます.
以下のライブラリでの関数の役割について説明します.
1.re.compile(patter, flags=0)
patterは、モードオブジェクト(patter object)strタイプを返す「[0-9]+」などの正規表現文字列です.
2.re.escape(str)
strは、次のようなエスケープ後の文字列を返す文字列です.
 
t = re.escape("www.baidu.com")
print(t)
#    www\.baidu\.com

3.match(pattern, string, flags=0)
この関数は文字列stringの先頭に一致し、最初の一致しない文字に出会ったときに終了します.照合に成功した場合は、matchオブジェクト(後述)を返します.そうでない場合はNoneを返します.
 
pattern = "[0-9]"
string = "1abcd"
m = re.match(pattern, string)
print(m)
#    <_sre.sre_match object="" span="(0," match="1"/>

 
pattern = "[0-9]"
string = "a1bcd"
m = re.match(pattern, string)
print(m)
#    None

 
4.search(pattern,string,flags=0)
文字列stringでは、正規表現に一致する最初の文字列のセットを一致させます.照合に成功した場合は、matchオブジェクト(後述)を返します.そうでない場合はNoneを返します.
 
pattern = "[0-9]"
string = "a1b2cd"
m = re.search(pattern, string)
print(m)
#    <_sre.sre_match object="" span="(1," match="1"/>

 
5.findall(pattern,string,flags=0)
正規表現に一致するすべての文字列stringのリストを返します.
pattern = "[0-9]"
string = "a1b2cd"
m = re.findall(pattern, string)
print(m)
#    ['1', '2']

6.finditer(pattern,string,flags=0)
文字列stringの正規表現に合致するすべての文字列からなるiteratorを返します.
 
pattern = "[0-9]"
string = "a1b2cd"
m = re.finditer(pattern, string)
for t in m:
    print(t)
#    
<_sre.sre_match object="" span="(1," match="<span" style="color:#800000;">'1'>
<_sre.sre_match object="" span="(3," match="<span" style="color:#800000;">'2'>

 
matchオブジェクト
1.match.group(index=0)
0一致する文字列全体を返します.
他の数字は対応するパケットを返し、複数の数字は対応するパケットからなるメタグループを返す
2.match.start()
matchの開始位置を返します
3.match.end()
matchの終了位置に戻る
4.match.group()
元祖オブジェクト、(match.start()、matchを返します.end())
 
転載先:https://www.cnblogs.com/woxiaosade/p/10012302.html