python3网络爬虫:正则表达式特殊符号和编译正则表达式3(五)

举报
brucexiaogui 发表于 2021/12/30 00:37:01 2021/12/30
【摘要】  python3网络爬虫:正则表达式特殊符号和编译正则表达式3(五)   '''正则表达式特殊符号及用法\A 匹配输入字符串的开始位置\Z 匹配输入字符串的结束位置\b 匹配一个单词边界,字母数字或下划线字符\B 匹配非单词边界,和\b相反\d 匹配任何一个数字\D 匹配任何非数字\s 1、对于unicode模...

 python3网络爬虫:正则表达式特殊符号和编译正则表达式3(五)

 


  
  1. '''
  2. 正则表达式特殊符号及用法
  3. \A 匹配输入字符串的开始位置
  4. \Z 匹配输入字符串的结束位置
  5. \b 匹配一个单词边界,字母数字或下划线字符
  6. \B 匹配非单词边界,和\b相反
  7. \d 匹配任何一个数字
  8. \D 匹配任何非数字
  9. \s 1、对于unicode模式,匹配unicode中的空白字符包括([\t\n\r\f\v])以及其他空白字符。如果开启了re.ASCII标识,就只匹配[\t\n\r\f\v]
  10. 2、对于8位(byte类型)模式:匹配ASCII中定义的空白字符[\t\n\r\f\v]
  11. \S 匹配任何非Unicode中的空白字符。与\s相反。开启了re.ASCII标识,则相当于匹配[^\t\n\r\f\v]
  12. \w 1、对于Unicode(str类型)模式:匹配任何unicode的单词字符,也包括数字和下划线,如果开启了re.ASCII标识,就只匹配[a-zA-Z0-9]
  13. 2、对于8位byte模式,匹配ASCII中定义的字母数字,即[a-zA-Z0-9]
  14. \W 匹配任何非Unicode的单词字符,其实就是与\w相反,如果开启了re.ASCII标识,则相当于[a-zA-Z0-9]
  15. '''
  16. import re
  17. #\b :匹配一个单词的边界,单词被定义为Unicode的字母数字或下横线字符
  18. z = re.findall(r'\blove\b', 'love.com!love_com!(love)')
  19. #中间那个love没有被找到。因为下横线_被认为是单词,并不符合单词边界的定义。符号是属于单词边界的,例如. ! ( )都是符号。因此只匹配到了前后两个love
  20. print(z) #['love', 'love']
  21. '''
  22. 编译正则表达式
  23. 如果我们需要重复地使用某个正则表达式,那么我们可以先将该正则表达式编译成模式对象。
  24. 我们使用re.compile() 方法来编译
  25. '''
  26. p = re.compile(r'[A-Z]')
  27. print(type(p)) #<class '_sre.SRE_Pattern'> p就是一个模式对象
  28. z = p.search('I Love Study') #传进的是待匹配的字符串
  29. print(z) #match='I'>
  30. z = p.findall('I Love Study')
  31. print(z) #['I', 'L', 'S']

 

文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。

原文链接:brucelong.blog.csdn.net/article/details/80496090

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。