正则表达式re.S的⽤法
在Python的正则表达式中,有⼀个参数为re.S。它表⽰“.”的作⽤扩展到整个字符串,包括“\n”。看如下代码:
1import re
2 a = '''asdfsafhellopass:
3 worldafdsf
4'''
5 b = re.findall('hello(.*?)world',a)
6 c = re.findall('hello(.*?)world',a,re.S)
7print'b is ' , b
8print'c is ' , c正则匹配哈希值
# b is []
# c is ['pass:\n\t234455\n\t']
正则表达式中,“.”的作⽤是匹配除“\n”以外的任何字符,也就是说,它是在⼀⾏中进⾏匹配。这⾥的“⾏”是以“\n”进⾏区分的。a字符串有每⾏的末尾有⼀个“\n”,不过它不可见。
如果不使⽤re.S参数,则只在每⼀⾏内进⾏匹配,如果⼀⾏没有,就换下⼀⾏重新开始,不会跨⾏。⽽使⽤re.S参数以后,正则表达式会将这个字符串作为⼀个整体,
将“\n”当做⼀个普通的字符加⼊到这个字符串中,在整体中进⾏匹配。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论