pythonの正規表現モジュールre


1、テキストのパターンを検索する
search()関数はモードとスキャンするテキストを入力として取り、このモードが見つかったらMatchオブジェクトを返し、見つからなかったらsearch()はNoneを返します
   
   
   
   
  1. #!/usr/bin/python 
  2.  
  3. import re 
  4. pattern = 'this' 
  5. text = 'Does this text match the pattern?' 
  6. match = re.search(pattern, text) 
  7. s = match.start() 
  8. e = match.end() 
  9.  
  10. print 'Found "%s"
    in "%s"
    from %d to %d ("%s")'
     % \ 
  11.         (match.re.pattern, match.string, s, e, text[s:e]) 

結果:
Found "this"
in "Does this text match the pattern?"
from 5 to 9 ("this")
2、式のコンパイル
reには、テキスト文字列としての正規表現を処理するためのモジュールレベルの関数が含まれていますが、プログラムが頻繁に使用する式では、これらの式をコンパイルするとより効率的になります.compile()関数は、式文字列をRegexObjectに変換します.
 
   
   
   
   
  1. #!/usr/bin/python 
  2.  
  3. import re 
  4. regexes = [ re.compile(p) 
  5.         for p in ['this''that'
  6.         ] 
  7. text = 'Does this text match the pattern?' 
  8. print 'Text: %r
    '
     % text 
  9. for regex in regexes: 
  10.     print 'Seeking "%s" ->' % regex.pattern, 
  11.     if regex.search(text): 
  12.         print 'match!' 
  13.     else
  14.         print 'no match' 

結果:
Text: 'Does this text match the pattern?'
Seeking "this"-> match!
Seeking "that"-> no match
3、多重照合
findall()関数は、入力中にモードと一致して重複しないすべてのサブ列を返します.
   
   
   
   
  1. #!/usr/bin/python 
  2.  
  3. import re 
  4.  
  5. text = 'abbaaabbbbaaaaa' 
  6. pattern = 'ab' 
  7. for match in re.findall(pattern, text): 
  8.     print 'Found "%s"' % match 

結果:
Found "ab"
Found "ab"