7.18正規表現の概要

--- ---復元コンテンツ始まります

Pythonの正規表現

 

正規表現は、それが簡単に文字列がパターンに一致するかどうかを確認するためにあなたを助けることができる、特別な文字列です。

 

re.match機能

re.match試行列の開始位置が成功しない、一致()がNoneを返した場合、開始位置をパターンマッチングに一致します。

 

構文:

 

マッチパターン文字列フラグ= 0  

 

パターン--->正規表現マッチング

一致する文字列--->文字列

フラグモードにマッチする正規表現を制御する--->フラグ

 

 

 

re.search方法

re.search 文字列全体をスキャンし、返し最初に成功した試合を。

 

 

構文:

 マッチパターン文字列フラグ= 0

 

 

パターン--->正規表現マッチング

一致する文字列--->文字列

フラグモードにマッチする正規表現を制御する--->フラグ

 

検索と置換

 

re.sub(パターン、REP1、文字列、カウント= 0、フラグ= 0)

 

パラメータ:

  • パターン:通常のパターン文字列インチ
  • REPL:文字列を置換、それは関数であってもよいです。
  • 文字列:元の文字列を交換する見つけます。
  • カウント:パターンマッチングの置換の最大数は、デフォルトで0がすべての出現を置き換えることを意味します。

 

 

re.compile機能

関数は、正規表現コンパイラをコンパイルするために使用されることは一致()、検索()関数は、これら2つを使用のための正規表現(パターン)オブジェクトを生成します。

 

re.compile(パターン[、フラグ])

 

パラメータ:

  • パターン:正規表現の文字列

  • フラグ:オプションは、そのような特定のパラメータの場合、マルチラインモードを無視したように、マッチングパターンを表します。

    1. re.I  ケースを無視
    2. re.Lは  \ W、\ bの、ワット\特殊文字を表し 、\はB、\ sは、\ Sは、 現在の環境に依存します
    3. re.Mの  複数行モード
    4. re.S  です  。改行を含む任意の文字は、(含ま改行を含みません)
    5. re.Uは  \ W、\のB、W \特殊文字を表す 、の\ B、\ D、\ D、\ S、\ Sは、Unicode文字特性データベースに依存します
    6. re.X  空白と無視して、読みやすさを高めるために  戻って#コメントを

 

 

findAll

文字列の表現がマッチした検索されているすべてのサブ文字列およびリストを返し、それを返し、一致しなかった場合は、空のリストを。

注意: マッチと検索がマッチがすべてに一致するのfindAllです。

 

 

findAll 文字列[、POS [、endposの]])

 

 

パターン= コンパイルR&LT ' \ D + ' #番号を見つけます。
結果1 = パターンfindAll ' 123グーグル456をrunoob '
結果2 = パターンfindAll ' run88oob123google456 ' 0 10
印刷結果1
印刷結果2

出力:

[ '123'  '456' ] [ '88'  '12' ]   

 

 

re.finditer

そして、のfindAll同様に、正式の中で発見された文字列は、すべてのサブストリングにマッチした、とイテレータとして返します。

 

 

finditer パターン文字列フラグ= 0  

インポート現実はそれが= 現実をクリーブR " \ D + " " 12a32bc43jf3 "
以下のための試合それ
   プリント試合グループ
 

出力:

 
12 32 43 3 
 
 




「\ n」以外の任意の1文字に一致しています。一致させるために使用などの任意の文字を含む「\ n」は、含ま「[を。\ N]」モード。
\ dは 桁の文字と一致します。[0-9]に相当します。
\ D 数字以外の文字をマッチング。これは[^ 0-9]と同じです。
\ sの その上、スペース、タブ、改ページ、およびを含む任意の空白文字にマッチします。[\ F \ nは\ rを\トン\ V]に相当します。
\ S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\w 匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。
\W 匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'。
 
 
[Pp]ython 匹配 "Python" 或 "python"
rub[ye] 匹配 "ruby" 或 "rube"
[aeiou] 匹配中括号内的任意一个字母
[0-9] 匹配任何数字。类似于 [0123456789]
[a-z] 匹配任何小写字母
[A-Z] 匹配任何大写字母
[a-zA-Z0-9]

匹配任何字母及数字

[^aeiou] 除了aeiou字母以外的所有字符
[^0-9]

匹配除了数字外的字符


 

  

 

おすすめ

転載: www.cnblogs.com/jackson669/p/11200076.html