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

ernestwang 897 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条评论)

还木有评论哦,快来抢沙发吧~

复制成功
微信号: irenyuwang
关注微信公众号,站长免费提供流量增长方案。
我知道了