正規表達式可以包含一些可選标志修飾符來控制比對的模式。修飾符被指定為一個可選的标志。多個标志可以通過按位 OR(|) 它們來指定。如 re.I | re.M 被設定成 I 和 M 标志:
修飾符 | 描述 |
---|---|
re.I(注:大寫的i) | 使比對對大小寫不敏感 |
re.L | 做本地化識别(locale-aware)比對 |
re.M | 多行比對,影響 ^ 和 $ |
re.S | 使 . 比對包括換行在内的所有字元 |
re.U | 根據Unicode字元集解析字元。這個标志影響 \w, \W, \b, \B. |
re.X | 該标志通過給予你更靈活的格式以便你将正規表達式寫得更易于了解。 |
例:(常用的)
re.I
pattern='aB'
print(bool(re.match(pattern,'ab',flags=re.I)))#結果為True,若不加re.I則為False
re.M 即 re.MULTILINE
影響'^'和'$'的行為,指定了以後,'^'會增加比對每行的開始(也就是換行符後的位置);
'$'會增加比對每行的結束(也就是換行符前的位置)。
pattern='^a{2}bb$'
print(bool(re.match(pattern,'aabb\naabb',re.M)))
#加上re.M結果為True,否則為False
re.S
pattern='\w+|.'
print(bool(re.match(pattern,'\nghhgb',re.S)))
#加上re.S為True,否則為False