1.すべてのメタキャラクタ
\すべての番号と一致するようにD \ wはライン変更、文字、マッチ数を示し 、すべてのブランク一致する\ S \ tはタブタブ一致を表す \ nは改行を表す\ nはキー入力 \ Dが非マッチングデジタルを表しを \ Wは、非マッチング数を表し、文字、ライン変更 Sが非一致ギャップを表しますが、\ 。\除く外のnすべての []の文字の文字セットと一致する [ ^は]文字セットの文字を除くすべての文字にマッチする ^ マッチした文字列始まる 文字列の末尾$を一致 のマッチングの括弧()内の式は、また、グループを表す aが bは文字または文字Bと一致し|
2.数量詞
?0または1を繰り返し +は 1回以上繰り返す * 0回以上繰り返し {N}はn回繰り返さ {N} n回又は複数回 {N、M}のn回回Mまたは
3.貪欲試合非欲張りマッチ
#貪欲試合は - 多くの試合として許可数量詞スコープの場合 。 - * 任意の文字、任意の回数と一致するX、最後の出会いは、x停止した #非欲張りマッチ - 。*は任意の文字に一致X?任意の回数が、イベントxを停止
4.エスケープ
-文字はもともと特別な意味を持っていた、必要が脱出する際に独自の意味を表現するために
-何か特別な意味がある、文字群では、その特別な意味をキャンセルします
- [()* +。?]文字セットのすべての内容は、その特別な意味キャンセルさせていただきます
あなたはそれが脱出する範囲、必要性を表したくない場合は、グループ内の文字の範囲を示し、またはフロントの\最後尾の文字セット- [AC]を
モジュールの一般的に用いられている方法の5.re
- fildall(定期的に、マッチする文字列フラグ)戻り値:すべてのオカレンス
インポート再 RET = re.findall(" D + "、" 19740ash93010uru " ) #のリストに戻り、すべてのマッチング結果の満足を条件、 プリント(RET) #[ '19740'、 '93010']
- 検索:変数の戻り、グループをとることにより、一致するエントリであります
= re.search RET(「\ + D 」、「19740ash93010uru 」) IF RET: 印刷(ret.group()) #の文字列パターンマッチングのための機能ルックス、試合を見つけて、マッチング情報を返すことだけ最初のオブジェクトがあってもよい
グループ()を呼び出すことによって得られた文字列照合方法であって、一致する文字列場合、Noneが返されます。 #19740
- finditer:イテレータによって撮影されたイテレータが変数、グループの値で返す(スペースを節約するために)
コードの続き
- macth:最初から最初のものを見つけるために、他と検索と同じ
インポートの再 RET = re.match(' A '、' ABC ').group() #検索ではなく、文字列の先頭にマッチを行う 印刷(RET) #'A' #のユーザ入力が時間と一致し、 11桁の電話番号を入力するようユーザに要求する、携帯電話の番号は、^ $ 一致(「電話番号の正規$ 」、「123eva456taibai 」) (検索「^電話番号の正規$ 」、「123eva456taibai 」)
- コンパイル(通常の):時間を節約するために、事前にコンパイルされたときに正規表現とは何度も使用されています
コードの続き
- スプリット:正規表現マッチングによるスプリットコンテンツ
インポート再 RET = re.split(" \ D + "、" eva3egon4yuan " ) プリント(RET) #[ 'EVA'、 'エゴン'、 '元'] RET = re.split(" (\ D +)" ,, " eva3egon4yuan " ) プリント(RET) #[ 'EVA'、 '3'、 'エゴン'、 '4'、 '元'
結果アウトマッチング部プラス()カット後にアイテムが保持一致していない)(ない、異なっていて、そこである()が、一致するエントリを保持することができ、必要にマッチの一部を保持しますコースは非常に重要です。
- サブ:置き換え、正規表現マッチングの内容で置き換え
インポート再 RET = re.sub(" \ D + "、" H "、" aas123dfghj147 " ) プリント(RET) #aasHdfghjH RET = re.sub(" \ D + "、" H " ,, " aas123dfghj147 "、1) #替换一个 プリント(RET) #「aasHdfghj147
- サブに基づいて、あるいはSUBNタプルを返し、結果が第1コンテンツを交換することで、2番目の数字は置換されています
インポート再 RET = re.subs(" \ D + "、" H "、' alex123wusir456 ' ) プリント(RET) # ( 'alexHwusirH'、2)