python3网络爬虫:正则表达式特殊符号和编译正则表达式3(五)
【摘要】
python3网络爬虫:正则表达式特殊符号和编译正则表达式3(五)
'''正则表达式特殊符号及用法\A 匹配输入字符串的开始位置\Z 匹配输入字符串的结束位置\b 匹配一个单词边界,字母数字或下划线字符\B 匹配非单词边界,和\b相反\d 匹配任何一个数字\D 匹配任何非数字\s 1、对于unicode模...
python3网络爬虫:正则表达式特殊符号和编译正则表达式3(五)
-
'''
-
正则表达式特殊符号及用法
-
\A 匹配输入字符串的开始位置
-
\Z 匹配输入字符串的结束位置
-
\b 匹配一个单词边界,字母数字或下划线字符
-
\B 匹配非单词边界,和\b相反
-
\d 匹配任何一个数字
-
\D 匹配任何非数字
-
\s 1、对于unicode模式,匹配unicode中的空白字符包括([\t\n\r\f\v])以及其他空白字符。如果开启了re.ASCII标识,就只匹配[\t\n\r\f\v]
-
2、对于8位(byte类型)模式:匹配ASCII中定义的空白字符[\t\n\r\f\v]
-
\S 匹配任何非Unicode中的空白字符。与\s相反。开启了re.ASCII标识,则相当于匹配[^\t\n\r\f\v]
-
\w 1、对于Unicode(str类型)模式:匹配任何unicode的单词字符,也包括数字和下划线,如果开启了re.ASCII标识,就只匹配[a-zA-Z0-9]
-
2、对于8位byte模式,匹配ASCII中定义的字母数字,即[a-zA-Z0-9]
-
\W 匹配任何非Unicode的单词字符,其实就是与\w相反,如果开启了re.ASCII标识,则相当于[a-zA-Z0-9]
-
'''
-
import re
-
#\b :匹配一个单词的边界,单词被定义为Unicode的字母数字或下横线字符
-
z = re.findall(r'\blove\b', 'love.com!love_com!(love)')
-
#中间那个love没有被找到。因为下横线_被认为是单词,并不符合单词边界的定义。符号是属于单词边界的,例如. ! ( )都是符号。因此只匹配到了前后两个love
-
print(z) #['love', 'love']
-
-
'''
-
编译正则表达式
-
如果我们需要重复地使用某个正则表达式,那么我们可以先将该正则表达式编译成模式对象。
-
我们使用re.compile() 方法来编译
-
'''
-
p = re.compile(r'[A-Z]')
-
print(type(p)) #<class '_sre.SRE_Pattern'> p就是一个模式对象
-
z = p.search('I Love Study') #传进的是待匹配的字符串
-
print(z) #match='I'>
-
z = p.findall('I Love Study')
-
print(z) #['I', 'L', 'S']
文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。
原文链接:brucelong.blog.csdn.net/article/details/80496090
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)