python3网络爬虫:正则表达式1(四)

举报
brucexiaogui 发表于 2021/12/29 23:08:15 2021/12/29
【摘要】  python3网络爬虫:正则表达式1(四)   '''正则表达式'''import re #导入正则表达式类 #search方法匹配字符有两个参数,第一个参数是匹配规则(第一个参数左边的r表示原始字符,如果有反斜杠,代表格式化这些反斜杠输出原始字符),# 第二个参数是被匹配的数据。r = re.search...

 python3网络爬虫:正则表达式1(四)

 


  
  1. '''
  2. 正则表达式
  3. '''
  4. import re #导入正则表达式类
  5. #search方法匹配字符有两个参数,第一个参数是匹配规则(第一个参数左边的r表示原始字符,如果有反斜杠,代表格式化这些反斜杠输出原始字符),
  6. # 第二个参数是被匹配的数据。
  7. r = re.search(r'I love you','I love you')
  8. print(r) #结果匹配到 match='I love you'>
  9. #(1)匹配除换行符以外的所以字符
  10. r = re.search('I lov.','I love you') #点: 匹配除换行符以外的所以字符
  11. print(r) #match='I love'>
  12. #(2)需要匹配点
  13. r = re.search(r'\.','I love you .') #如果需要匹配点,则使用格式化\. 输出原始字符点
  14. print(r) # match='.'>
  15. #(3)匹配第一个出现的数字 \d
  16. r = re.search(r'\d','I love 123')
  17. print(r) #match='1'>
  18. #(4)匹配多个数字:每一个\d代表一个数字
  19. r = re.search(r'\d\d\d','I love you 123')
  20. print(r) #match='123'>
  21. #(5)匹配给定范围任意的字符
  22. r = re.search(r'[a-z]','you love you')
  23. print(r) # match='y'>
  24. #(6)匹配给定范围的任意数字
  25. r = re.search(r'[1-5]','987654321') #匹配出现第一个符合1到5的任意一个数字
  26. print(r) #match='5'>
  27. #(7)匹配次数用{}表示
  28. r = re.search(r'[1-5]{3}','987654321')
  29. print(r) #match='543'>
  30. #(8)匹配一个范围内的次数{2,5}
  31. r = re.search(r'[1-5]{3,5}','987654321') #匹配1-5的数字,最少匹配3次,最多匹配5次
  32. print(r) #match='54321'>
  33. #(9)匹配一个百位数字,因匹配符自身是不认识百十千万的数字,只是把它们当成一串数字。
  34. # 所以匹配百位数字的时候,需要对每一位数字都给出一个匹配范围,逐个位数进行匹配。
  35. '''
  36. 例如匹配0-255的数字
  37. [01]\d\d|2[0-4]\d|25[0-5]'表达式解释。
  38. [01]\d\d 表示百位为0到1的时候,十位和个位任何数字都可以。
  39. 2[0-4]\d 表示百位为2的时候十位只能是0到4的任意数字,个位任意数
  40. 25[0-5] 表示百位和十位为25时候,个位只能是0到5的任意数字
  41. '''
  42. r = re.search(r'[01]\d\d|2[0-4]\d|25[0-5]','100')
  43. print(r) #match='200'
  44. #(10)匹配一个IP
  45. r = re.search(r'(([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])\.){3}([01]{0,1}\d{0,1}\d|2[]0-4\d|25[0-5])','192.168.1.1')
  46. print(r)

 

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

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

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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