fc2ブログ

    Pythonでre! - 正規表現のグループまとめ

     今更ですがPythonの正規表現モジュール「re」の個人的まとめです。
     わざわざ自分で書かなくても他の方がまとめられてる内容なんですが、まぁ自分用メモって事で自分用にメモメモ。


    ■正規表現
     正規表現はひとつの文字列で色んな文字を取ってこれる凄いヤツですね。
     Pythonではreモジュールによって使用することができます。


    ■コンパイルしときましょ
     ぷよぷよの会社ではありません。
     re.searchメソッドによっていきなり正規表現を使用する事もできるのですが、コンパイルするとその後の処理が高速化するらしいので、とりあえずコンパイルしておきましょう。
    # -*- coding:utf-8 -*-
    
    import re
    reobj = re.compile('.*')  # Regex Objectが帰る
    


     コンパイルされたオブジェクトはsearchやmatchなどの正規表現実行メソッドをもっています。  ここから先の使用方法はre.searchやre.matchと同じですが、第一引数に正規表現はいらないのが違いです。
    # -*- coding:utf-8 -*-
    
    import re
    reobj = re.compile('[a-zA-Z]+')
    
    result = reobj.search('testfilename_map_v01.py')
    # 結果はtestfilenameが取れる
    
     何度も使用する場合、正規表現を何度も書かなくていいので非常に便利ですね。
     また、置換関数のsubやfindallなどほとんどの関数を使用する事ができます。


    ■グループ
      さて、ここからが本題。  Pythonのreモジュールはグループ処理もサポートしています。グループ処理をするためには()で囲えばOK。
    # -*- coding:utf-8 -*-
    
    import re
    reobj = re.compile('([a-zA-Z]+)_map_(v\d+).py')
    
    result = reobj.search('testfilename_map_v01.py')
    

    続きを読む

    スポンサーサイト



    プロフィール

    Eske

    Author:Eske
    萌えイラストレーターを目指す3DCGイラストレーター。
    現在ポケモンカードゲーム、ガンダムトライエイジ、ガンダムコンクエスト、妖怪ウォッチとりつきカードゲームなどで3DCGを使用したイラストレーターとして参加中。

    主にここでは日々気づいたメモなんかを残してます。
    イラストのお仕事も受け付けております。ココのメールアドレスからご連絡できますので、お気軽にご相談下さい。

    最新記事
    最新コメント
    カテゴリ
    最新トラックバック
    月別アーカイブ
    検索フォーム
    リンク
    QRコード
    QR