正则表达式:使用原则/应用场景

    Python编程 wuya 347次浏览 已收录 0个评论

    正则表达式

    应用场景

    • 特定规律字符串的处理(查找、替换、切割等)
    • 邮箱、手机号、URL、IP等的格式匹配
    • 爬虫项目提取特定的内容

    使用原则

    • 只要能够使用字符串函数解决的问题就不要使用正则
    • 正则的效率比较低,并且会降低代码的可读性
    • 世界上最难理解的三样东西:医生的处方、道士的神符、码农的正则
    • 提醒:正则是用来写的,不是用来读的;在不知道功能的情况下,不要阅读别人的正则

    正则使用

    • 说明:正则的解析处理有专门的模块,在python中正则处理使用的是re模块
    • 相关函数
      import re
      
      # 从开头进行匹配,找到返回正则结果对象,没有找到返回None
      # m = re.match('abc', 'abcshajsdhabcjsdjabcasdj')
      # 功能同上,但是是从任意位置匹配
      m = re.search('abc', 'abshajsdhabcjsdjabcasdj')
      if m:
          # 匹配到的内容
          print(m.group())
          # 匹配到内容的位置
          print(m.span())
      
      # 匹配所有,返回一个列表(没有匹配到数据为空列表)
      f = re.findall('abc', 'abcsandakabcskjdkaljabc')
      print(f)
      
      # 先生成正则表达式对象
      c = re.compile('abc')
      
      # 然后进行匹配
      # m = c.match('abcasdaabcsjdjabc')
      m = c.search('abasdaabcsjdjabc')
      if m:
          print(m.group(), m.span())
      
      f = c.findall('asjdhabcasdjabcjsdaljabc')
      print(f)

    学海无涯 , 版权所有丨如未注明 , 均为原创丨转载请注明正则表达式:使用原则/应用场景
    喜欢 (0)
    发表我的评论
    取消评论
    表情 加粗 删除线 居中 斜体 签到

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址