前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python正则表达式(下)

Python正则表达式(下)

原创
作者头像
陈不成i
修改2021-06-18 18:08:39
5380
修改2021-06-18 18:08:39
举报
文章被收录于专栏:ops技术分享ops技术分享

三.具体例子

  1. #匹配电话号码
  2. phoneRegex = re.compile(r'''(
  3.     (\d{3}|\(\d{3}\))?  #3个数字或括号中的3个数字
  4.     (\s|-|\.)?  #空白或-或.
  5.     (\d{3}) #3个数字
  6.     (\s|-|\.)  #空白或-或.
  7.     (\d{4})  #4个数字
  8.     (\s*(ext|x|ext.)\s*(\d{2,5}))? #任意数量空白+可选ext+任意数量空白+2-5个数字
  9.     )''', re.VERBOSE)
  10. #匹配邮件地址
  11. emailRegex = re.compile(r'''(
  12.     [a-zA-Z0-9._%+-]+ #一个或多个字符,字母数字下划线,百分号,加好,短横,句号
  13.     @   #@符
  14.     [a-zA-Z0-9.-]+ #同上匹配
  15.     (\.[a-zA-Z]{2,4}) #.com这种域名部分,重复2-4个
  16.     )''', re.VERBOSE)
  17. from collections import namedtuple
  18. Duck = namedtuple('Duck', 'bill tail')
  19. duck = Duck('wide irange', 'log')
  20. duck
  21. duck.bill
  22. parts = {'bill': 'wide orange', 'tail': 'long'} #字典构造命名元祖
  23. duck2 = Duck(**parts)
  24. duck3 = duck2._replace(tail='magnificent', bill='crushing') #替换部分值,返回新的
  25. search() 会返回第一次成功匹配,如果存在的话
  26. m = re.search('Frank', 'Young Frankenstein')
  27. findall() 会返回所有不重叠的匹配的列表,如果存在的话
  28. m = re.findall('n', 'Young Frankenstein')
  29. split() 会根据 pattern 将 source 切分成若干段,返回由这些片段组成的列表;
  30. m = re.split('n', source) #以n分隔,将其它字符放到数组
  31. sub() 还需一个额外的参数 replacement,它会把 source 中所有匹配的 pattern 改成replacement。
  32. m = re.sub('n', '?', source) #返回字符串,将匹配到的n换成问号
  33. #字符串常量
  34. import string
  35. printable = string.printable
  36. print(printable)
  37. re.findall('\d', printable) #找出数字
  38. re.findall('\w', printable) #数字,字符,下划线
  39. re.findall('\s', printable) #哪些是空格
  40. re.findall('[wf]ish', source) #w或f开头
  41. re.findall('[wsh]+', source) #若干个w、s、h的组合
  42. re.findall('I (?=wish)', source) #I开头,后面跟wish,出现次数尽量少
  43. re.findall('(?<=I) wish', source) #查询以wish结尾,前面为I的匹配(I出现的次数尽量少)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 三.具体例子
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档