##正则匹配

前端之家收集整理的这篇文章主要介绍了##正则匹配前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

正则匹配

2017-07-12 12:12:56

主要方法

  1. search : 在字符串中查找匹配模式的字符

  2. match : 在字符串的开始出查找是否满足匹配的字符串

  3. findall(pattern,string,flag): 查找匹配的字符,并返回一个list

  4. finditer(pattern,flag): 查找匹配的字符,并返回一个lter

  5. spit(pattern,max=0): 按照模式切割字符串

  6. sub(pattern,repl,max=0):按照模式替换该字符串

  7. groups(num=0): 返回一个包含全部匹配的子组的元祖

  8. group():返回全部的匹配对象

  1. import re
  2.  
  3. pattern = re.compile('foot')
  4. # compile 对正则表达式的模式进行编译
  5. text = 'foo/foot/basfoo'
  6.  
  7. res = pattern.search(text)
  8. print(res)
  9. # <_sre.SRE_Match object; span=(0,3),match='foo'>
  10. res = re.search(pattern,text)
  11. print(res)
  12. # <_sre.SRE_Match object; span=(0,match='foo'>
  13.  
  14. # search
  15.  
  16.  
  17. res = pattern.match(text)
  18. print('match:',res)
  19. #output :match: None
  20.  
  21.  
  22.  
  23. """
  24. search 与match 的区别主要在于
  25. match 匹配字符串一开始如果和正则表达式的模式不同,则不再查找,
  26. search 会查找整个字符串
  27.  
  28. """
  29. """在多行模式下match也只匹配string的开头部分,而用了’^’正则的re.search()可以匹配多行"""
  30.  
  31. re.match('X','A\nB\nX',re.MULTILINE) # No match
  32. re.search('^X',re.MULTILINE) # Match
  33.  
  34.  
  35. res_list =re.findall(pattern,text) # 返回出来一个对象列表
  36. print(res_list)#['foot']
  37.  
  38. res_iter = re.finditer(pattern,text)
  39. print(res_iter)
  40.  
  41.  
  42. #split 分割
  43. pattern = re.compile('f')
  44.  
  45. re_split = re.split(pattern,text,5)
  46. print(res_list)
  47.  
  48.  
  49. # sub 替换字符
  50. res_sub =re.sub(pattern,'demo',text)
  51. print(res_sub)#demooo/demooot/basdemooo

猜你在找的正则表达式相关文章