インポートの再 #のfindAll #の検索 #のマッチ #1 RET = re.findall( 'A'、 'EVAエゴン元') #1 #リターンにすべての結果は、リスト上の条件を満たし #印刷(RET) #1 (= RET re.searchを'A'、 'EVAエゴン元') #RET IF: #の 印刷(ret.group()) #の後ろへ#フロント、リターンを見つけ、変数が結果を得るためにグループを呼び出す必要が戻る #1 見つからなかった場合は#を、グループ通話与えられるリターンなし、 #1 RET = re.match( '[AZ] +'、 'EVAエゴン元') #:IF RET # プリント(ret.group()) #の場合、#一致スクラッチ一致を最初から正規の開始が一致することができ、それは可変返し #のグループで表示されるコンテンツ#マッチを ##何の一致は、Noneを返す場合は、与えられているグループ通話 #1 RET = re.split( '[AB&]'、 'ABCD') #の印刷(RET)#1 [ ''、 'CD'] #の#を押して分割された'で分割'と'BCD'。それぞれ'B' #のre.sub( '\のD'、 'H'、 'eva3egon4yuan4' ,. 1)= RET #を印刷(RET) # #番号置換'H'に、パラメータ1は、置き換え #1 RET = re.subn( '\のD'、 'H'、 'eva3egon4yuan4') #の印刷(RET) #1 #のデジタル'H'を置き換えは、タプルを返します(あるいは結果、回置換の数) #対象となる正規表現コンパイラがコンパイル #OBJ = re.compile(「\のD {}。3」) #正規表現オブジェクトにコンパイル#正規表現、ルールが一致します3桁の数字である #RET = obj.search( 'abc123eee')#オブジェクトは、パラメータが文字列に一致する正規表現検索呼び出す #の印刷(ret.group())#結果:123 #finditer反復 #RET = re.finditer一致結果イテレータ返すfinditer( '\のD'、 'ds3su4784a')# #1 #プリント(RET)#<0x000001BC77390E48 ATオブジェクトcallable_iterator> #1 #プリント(次へ(RET).group ())最初の結果#表示する #1 #プリント(次へ(RET).groupを())は、第2の結果#ビューに #1 )[IためRETに(i.group(#プリント)を残りの結果#ビューに 位I RETにするため: # プリント(i.group()) #1 、パケット #1 RET = re.search( '^ [1-9](\ D {14})(\ D {2} [0-9x])' '411403198606166078') #印刷(ret.group()) #の印刷(ret.group(1)) #の印刷(ret.group(2))#正規表現は、いくつかのパケットがあり、いくつかの変数を持つことができます
注意:
1つのfindAll優先クエリ:
#RET = re.findall( 'WWW(Baiduの|。Oldboy).COM'、 'www.oldboy.com') #の印刷(RET)#1 [ 'Oldboy'] #のfindAllは、グループの一致を優先させて頂きますので、これがありますあなたは結果を一致させたい場合は、コンテンツは背中、に権限を取り消さ #|:( 'www.oldboy.com' '?。Oldboy).COM BaiduのWWW(')RET = re.findall #の印刷(RET)#1 [ ' www.oldboy.com「]
優先順位のクエリの2分割
= re.split RET(" \ D + "、" eva3egon4yuan " ) プリント(RET) #の結果: 'EVA'、 'エゴン'、 '元'] RET = re.split(" (\ + D)"、「eva3egon4yuan " ) 印刷(RET) #の結果:[ 'EVA'、 '3' 、 'エゴン'、' 4' 、 '元'] #マッチング部後プラス()は、結果の切り出し、異なる #1 ありません(a)は保持項目に一致するが、そこにある()は、マッチを保持することができていません #試合の一部でコースを維持する必要性を非常に重要です。
演習と拡張