regex match 抽出 - 大文字と小文字を区別しないre.compileのないPython正規表現




3 Answers

また、IGNORECASEフラグなしでsearch / matchを使って大文字と小文字を区別しない検索を行うこともできます(Python 2.7.3でテスト済み):

re.search(r'(?i)test', 'TeSt').group()    ## returns 'TeSt'
re.match(r'(?i)test', 'TeSt').group()     ## returns 'TeSt'
replace 大文字小文字 スラッシュ

Pythonでは、正規表現をre.compileを使用して大文字と小文字を区別しないようにコンパイルできます。

>>> s = 'TeSt'
>>> casesensitive = re.compile('test')
>>> ignorecase = re.compile('test', re.IGNORECASE)
>>> 
>>> print casesensitive.match(s)
None
>>> print ignorecase.match(s)
<_sre.SRE_Match object at 0x02F0B608>

re.compile使わずに同じことをする方法はありますか? 私はPerlのi接尾辞(例: m/test/i )のようなものをドキュメントで見つけることができません。




また、パターンコンパイル中に大文字と小文字を区別することもできます。

pattern = re.compile('FIle:/+(.*)', re.IGNORECASE)



輸入で

import re

アプリの初期化中:

self.re_test = re.compile('test', re.IGNORECASE)

実行時処理では:

if self.re_test.match('TeSt'):



Related