失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 正则表达式(四)匹配模式

正则表达式(四)匹配模式

时间:2019-04-29 15:44:05

相关推荐

正则表达式(四)匹配模式

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')]

总结

不区分大小写模式,它可以让整个正则或正则中某一部分进行不区分大小写的匹配。点号通配模式也叫单行匹配,改变的是点号的匹配行为,让其可以匹配任何字符,包括换行。多行匹配说的是 ^ 和 $ 的匹配行为,让其可以匹配上每行的开头或结尾。注释模式则可以在正则中添加注释,让正则变得更容易阅读和维护。

如果觉得《正则表达式(四)匹配模式》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。