正規表現のpython学習-54 2

パケットの再モジュール、

 

>>> 輸入 >>> re.findall(" AB | C "" sdfab | csdf " 
[ ' AB '' C ' ]
 >>> re.findall(" AB | CD "sdfab | cdsdf " 
[ ' AB '' CD ' ]
 >>> re.findall(" ABC + " " abccccc "
[ ' abccccc ' ]
>>> re.findall(" ABC * "" abccccc " 
[ ' abccccc ' ]
 >>> re.findall(" (ABC)+ "" abcabcabcabc " )#分组
[ ' ABC ' ]
 >>>再.findall(" (ABC)* "" abcabcabcabc " 
[ ' ABC ''' ]
 >>> re.findall("ABC + " "abcabcabcabcabc " 
[ ' ABC '' ABC '' ABC '' ABC '' ABC ' ]

 

使用方法検索パケット(のみオブジェクトを返します)

>>> re.search(" ?(P <名> \ +)W "" abcccc "  <re.Matchオブジェクト。スパン=(0、6)、一致= ' abcccc ' > 
>>> re.search(" + W \(?P <名前>)"" abcccc " ).group()
 ' abcccc '

 

グループ名に基づいてコンテンツを抽出

>>> re.search(" (?P <名前> [AZ] +)\ D + "" john18musicxiaoming20movie ").group(" 名前" ' ジョン' 
>>> re.search(" (?P <名前> [AZ] +)(?P <年齢> \ D +)" " john18musicxiaoming20movie ").group(" 年齢' 18 ' 
>>>

 

 

reモジュールの他の一般的な方法

Re.match >>>(" \ D + "" 44safs45asdf321saf789 " ).group()#はの始まりに過ぎない取って、1つのオブジェクトのみを取る
 ' 44は' 
>>> re.split("  "" Hello Worldの" )を押し#境界スペースとして取ら
[ ' こんにちは'' 世界' ]
 >>> re.split(" | [] "" Hello Worldの| AAA " 
[ ' こんにちは'"世界AAA ' ]
 >>> re.split(" [AB] "" safdbds " )境界AB#を押すとし
、[ ' S ' ' FD ' ' DS ' ]

 

- 交換します

>>> re.sub(" \ D + "" A "" a1sd4fg45h " ' aAsdAfgAh ' 
>>> re.sub(" \ dの"" A "" a1sd4fg45h " ' aAsdAfgAAh ' 
>>>再.SUB(" \のD + "" A "" a1sd4fg45h "、2 ' aAsdAfg45h '

 

= re.compile >>>(" \ + D " )ルール#定義
 >>> a.findall(" safsd12a45 " )#ダイレクトコール(複数回呼び出すことができる)
[ ' 12 '' 45 ' ]
Re.finditer >>>(" \ D + "" asfa45saf56 " )#イテレータデジタルメモリに
 <0x00000220B1E50E80でcallable_iteratorオブジェクト>

内部の内容を取得します

>>> B = re.finditer(" \のD + "" asfa45saf56 "  >>> 次の(B)
 <re.Matchオブジェクト。スパン=(4,6)、一致= ' 45 ' > 
>>> 次の(B)
 <re.Matchオブジェクト。スパン=(9,11)、一致= ' 56 ' >

 

優先順位

>>> re.findall(" のwww \(Baiduの|。123)\ COM。"" www.baidu.com " 
[ ' 百度' ]
 >>> re.findall(" のwww \(?:Baiduの。| 。123)\ COM " " www.baidu.com " )# ':?'去掉优先级
[ ' www.baidu.com ' ]

 

おすすめ

転載: www.cnblogs.com/liujinjing521/p/11354126.html