python-正则表达式-正则函数

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

    正则函数

    • 正则切割
      import re
      
      # re.split()
      
      c = re.compile(r'\d')
      
      # 正则切割
      s = c.split('正则其实不难1但是学完之后2发现什么也写不出来3是这样吧')
      
      print(s)
      
      '''
      # s = '正则其实不难 但是学完之后 发现什么也写不出来 是这样吧'
      s = '正则其实不难1但是学完之后2发现什么也写不出来3是这样吧'
      ret = s.split()
      print(ret)
      '''
    • 正则替换
      import re
      
      c = re.compile(r'\d')
      
      s = 'If1you2do3not4leave5me6I7will8by9your8side7until6the5life4end'
      
      # 指定替换,可以指定替换次数
      ret = c.sub(' ', s, 3)
      
      # print(ret)
      
      # 干预替换过程
      def tihuan(m):
          # m表示匹配到的内容,一处匹配调用一次
          # print(m.group())
          return '*'
      
      ret2 = c.sub(tihuan, s)
      # print(ret2)
      
      def double(m):
          return m.group() * 2
      ret3 = c.sub(double, s)
      # print(ret3)
      
      # 传递一个函数后,可以人为的干预替换的过程
      ret4 = re.sub(r'\d', lambda m: str(int(m.group()) * 2), s)
      print(ret4)

    正则转义

    • 示例:
      import re
      
      '''
      python  \d      \\d     \\\d    \\\\d   r'\\d'
      re      \d      \d      \\d     \\d     \\d
      匹配     数字    数字     \d      \d      \d
      '''
      
      # 建议前面添加字符'r'
      c = re.compile(r'\\d')
      
      s = c.search('hello\dworld')
      
      if s:
          print(s.group())
    • 说明:
      • 匹配正则语法中的特殊字符都需要进行转义
      • 建议书写正则表达式字符串时前面添加r,可以省去python中对字符串的解析

    练习:

    • 匹配手机号
    • 匹配邮箱
    • 匹配URL(http://www.baidu.com:80/index.html?id=3&page=5
    • 匹配IP地址
    • 把下划线命名(也叫蛇形命名,所有单词都是小写,中间通过下划线连接),转化为小驼峰命名法(第一个单词小写,其余所有单词首字母大写)。例如'go_to_next_page',转化后改写为'goToNextPage'。要求:用正则表达式替换

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

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

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