2017-05-11 13 views
0

在做正則表達式匹配,我們python正則表達式:有沒有標誌值爲NOT ignorecase?

re.match(regex, text) 

要忽略的情況下,我們可以做

re.match(regex, text, re.IGNORECASE) 

是否有標誌/值不能忽略的情況下

想通過不這樣做

if XXX: 
    re.match(regex, text, re.IGNORECASE) 
else: 
    re.match(regex, text) 

,以保持我的代碼多一點清潔這將是巨大的,如果我能做某事喜歡

re.match(regex, text, re.IGNORECASE if XXX else re.NOTIGNORE) 
+2

你嘗試過're.match(正則表達式,文本,標誌=(re.IGNORECASE if XXX else 0))' – JacobIRR

+0

不舒服使用實際的i nt值,因爲我可能會忘記一段時間後的含義。 – cheng

+0

是的,沒有're.IGNORECASE'。當它不在那裏時,默認情況下正則表達式引擎會區分大小寫匹配。引入更詳細的代碼不會使代碼更簡潔。 –

回答

1

如何:

NOTIGNORECASE = 0 
re.match(regex, text, flags=(re.IGNORECASE if XXX else NOTIGNORECASE))