1. 匹配模式
所谓匹配模式,指的是正则中一些改变元字符匹配行为的方式,比如匹配时不区分英文字母大小写。常见的匹配模式有 4 种,分别是不区分大小写模式、点号通配模式、多行模式和注释模式。
1.1 不区分大小写模式
不区分大小写模式的指定方式,使用模式修饰符 (?i);修饰符如果在括号内,作用范围是这个括号内的正则,而不是整个正则;使用编程语言时可以使用预定义好的常量来指定匹配模式。1.2 点号通配模式
使用模式修饰符 (?s);一般情况下,**.**匹配除了换行以外的任意字符,启用点号通配模式即可使.真正匹配任意一个字符注意:很多地方将点号通配模式成为单行匹配模式。1.3 多行匹配模式
使用模式修饰符 (?m)通常情况下,^匹配整个字符串的开头,$ 匹配整个字符串的结尾。多行匹配模式改变的就是 ^ 和 $ 的匹配行为,使 ^ 和 $ 能匹配上每行的开头或结尾。1.4 注释模式
使用 (?#) 来表示,加入注释从而让正则更容易阅读和维护例如:(\w+)(?#word) \1(?#word repeat again)很多编程语言中也提供了 x 模式来书写正则,也可以起到注释的作用,注意在 x 模式下,所有的换行和空格都会被忽略。
# python代码import reregex = r'''(?mx) # 使用多行模式和x模式^# 开头(\d{4}) # 年(\d{2}) # 月$# 结尾'''re.findall(regex, '20\n20')# 输出结果 [('', '06'), ('', '07')]
总结
不区分大小写模式,它可以让整个正则或正则中某一部分进行不区分大小写的匹配。点号通配模式也叫单行匹配,改变的是点号的匹配行为,让其可以匹配任何字符,包括换行。多行匹配说的是 ^ 和 $ 的匹配行为,让其可以匹配上每行的开头或结尾。注释模式则可以在正则中添加注释,让正则变得更容易阅读和维护。如果觉得《正则表达式(四)匹配模式》对你有帮助,请点赞、收藏,并留下你的观点哦!