【Python 3.6.1】正则表达式:可选标识符
正则表达式可选标识符,我们还拿这个方法举例子re.findall(pattern,string[,flag]),首先明确,flag是可选项,如下:
- re.I(全拼:IGNORECASE): 忽略大小写
- re.M(全拼:MULTILINE): 多行模式,改变’^’和’$’的行为
- re.S(全拼:DOTALL): 点任意匹配模式,改变’.’的行为
- re.L(全拼:LOCALE): 使预定字符类 \w \W \b \B \s \S 取决于当前区域设定
- re.U(全拼:UNICODE): 使预定字符类 \w \W \b \B \s \S \d \D 取决于unicode定义的字符属性
- re.X(全拼:VERBOSE): 详细模式。这个模式下正则表达式可以是多行,忽略空白字符,并可以加入注释。
一、re.I
1 2 3 4 5 6 7 8 9 10 |
>>> import re >>> text = "Karl Marx was born in Germany, and German was his native language." # 未忽略大小写 >>> re.findall(r"ger\w*",text) [] >>> # 使用忽略大小写 >>> re.findall(r"ger\w*",text,re.I) ['Germany', 'German'] >>> |
二、re.X
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
>>> import re >>> text = "Karl Marx was born in Germany, and German was his native language." # 当出现空格,则导致没有任何元素返回 >>> re.findall(r"Ger \w*",text) [] >>> # 忽略空格 >>> re.findall(r"Ger \w*",text,re.X) ['Germany', 'German'] >>> # 注释 >>> re.findall(r"Ger#测试\w*",text) [] >>> # 忽略注释 >>> re.findall(r"Ger#测试\w*",text,re.X) ['Ger', 'Ger'] >>> |