Python正则表达式中re.M 是什么意思

Python024

Python正则表达式中re.M 是什么意思,第1张

Python正则表达式中re.M的意思是:多行匹配,影响 ^ 和 $。

正则表达式可以包含一些可选标志修饰符来控制匹配的模式。修饰符被指定为一个可选的标志。多个标志可以通过按位 OR(|) 它们来指定。如 re.I | re.M 被设置成 I 和 M 标志:

re.I:使匹配对大小写不敏感。

re.L:做本地化识别(locale-aware)匹配。

re.S:使 . 匹配包括换行在内的所有字符

re.U:根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B。

re.X:该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解。 

扩展资料

正则表达式的模式有I、L、M、S、X、U六种模式:

1、I (IGNORECASE) , 忽略大小写的匹配模式。

2、L (LOCALE),字符集本地化。

使预定字符类 \w \W \b \B \s \S 取决于当前区域设定,比如在转义符\w,在英文环境下,它代表[a-zA-Z0-9_],即所以英文字符和数字。如果在一个法语环境下使用,缺省设置下,不能匹配"é" 或 ""。加上这L选项和就可以匹配了,不常用。

3、M (MULTILINE),多行模式。

改变 ^ 和 $ 的行为,^匹配开始位置,这种模式下匹配每一行的开始,$匹配结束位置,这种模式下匹配每一行的结束。

4、S (DOTALL),点任意匹配模式。

此模式下.可匹配任何字符,包括换行符。

5、X (VERBOSE),冗余模式。

这个模式下正则表达式可以是多行,忽略空白字符,并可以加入注释,方便理解。

6、U (UNICODE),unicode定义模式。

使预定字符类 \w \W \b \B \s \S \d \D 取决于unicode定义的字符属性。

正则:

dog.+cat

.+:任意字符,1或多个

dog.*cat

.*:任意字符:0或多个

即dog和cat之间允许没有任何字符,此写法都匹配

且加上多行的参数是:

Python:

re.S = re.DOTALL

完整代码:

(百度知道的编辑器中竟然不能输入代码,鄙视