美文网首页
10. python3中的正则表达式

10. python3中的正则表达式

作者: 闪电侠悟空 | 来源:发表于2017-07-25 11:17 被阅读0次

    何所谓正则表达式?个人理解就是文本搜索的一种规则。那么正则表达式就需要解决下面的问题

    • 规则如何表示
    • 规则如何使用

    规则如何表示

    序号 需求 表示
    1 任意一个字符 (.)
    2 任意一个字符在备选范围内(字符集) ([a-zA-Z0-9]),[^abc]
    3 匹配开头 '^' (注意区别反转字符集2,没有放到中括号里面)
    4 匹配结尾 '$'

    如果需要匹配多个连续的字符,怎么办?那么就看连续的定义了,a) 如果只需要匹配('python','pear')两个单词,管道运算符就这么来了

    序号 需求 表示
    5 匹配不等长单词 管道运算符<code>(|)</code> ,'p(ython(|)ear)'

    多个字符的另外一种情况就是重复模式

    序号 需求 表示
    6 0个或者多个t '(t)*'
    7 只是一个t '(t)+'
    8 指定数量m,n '(t){m,n}'

    例子:匹配网址'www.jianshu.com', 'wwww.jianshou.com'等网址可以为
    r'^(w){3,4}\.jiansh(u|ou)(.)+com$'
    主要是希望在你使用的时候能够查询到这些。注意转义字符\\的使用


    规则如何使用?

    规则已然通过字符串的方式构建了,这种字符串中的特定符号代表了一系列已知或者未知的东东。那么如何使用这个字符串呢?python提供了re模块干这个事情,那么在深入之前,举个例子。老板让你找一个黑头发或者黄头发,年龄在16-20之间,罩杯在c和d之间的女模特,你会问什么问题呢?

    • 去哪儿找(大街上,模特公司,还是xx数据库)
    • 怎么找(方法很多哈)
    • 到底能不能找到(沙漠里估计就难找到这样的模特呀)
    • 找多少(一个还是都找到)
    • 找到了做什么(走秀表演,还是拍广告)
    • 怎么才能快速的找到(问问前辈,做过了的)

    这么多的问题,re模块都给你解决了,对应模式的搜索

    • 去哪儿找(提供的字符串)
    • 怎么找(使用re模块)
    • 到底能不能找到(search下看看)
    • 找多少(findall 全给你,你自己决定)
    • 找到了做什么(分割字符串,替换)
    • 怎么才能快速的找到(compile一下)

    相关文章

      网友评论

          本文标题:10. python3中的正则表达式

          本文链接:https://www.haomeiwen.com/subject/xyrwkxtx.html