美文网首页
爬虫的提取(2)--re正则

爬虫的提取(2)--re正则

作者: 紫弟 | 来源:发表于2018-12-25 10:13 被阅读0次

    python正则表达式基本元字符

    
    .   通配符,匹配所有字符
    
    ^abc  匹配以abc开始的字符串
    
    abc$  匹配以abc结尾的字符串
    
    [abc]  匹配字符集合
    
    [A-Z0-9] 匹配字符范围
    
    ed|ing|s 匹配指定的字符串,诸如ed或者ing或者s
    
    *   前面项目0个或者多个,如a*/[a-z]* (也叫Kleene闭包)
    
    +   前面项目1个或者多个,如a+、[a-z]+
    
    ?   前面项目0个或者1个,如a?、[a-z]?
    
    {n}   重复n次
    
    {n,}  至少重复n次
    
    {,n}  重复不多于n次
    
    {m,n}  至少重复m次不多于n次
    
    a(b|c)+  括号表示操作符的范围
    
    正则表达式符号:
    
    \b 词边界
    
    \d 任何数字等于[0-9]
    
    \D 任何非数字等于[^0-9]
    
    \s 任何空白字符[\t\n\r\f\v]
    
    \S 任何非空白字符[^\t\n\r\f\v]
    
    \w 任何字母[A-Za-z0-9]
    
    \W 任何非字母[^A-Za-z0-9]
    
    \t 制表符
    
    \n 换行符
    

    贪婪模式
    在python中默认采用的是贪婪模式,使用非贪婪模式的话,只需要在量词后面直接加上一个问号”?”。所以,我们可以将贪婪模式理解为:在整个表达式匹配成功的前提下,尽可能多的匹配。

    非贪婪模式也就是将我们例子中的正则表达式“ab+”改为”ab+?”

    import re
    # 将正则表达式编译成pattern对象
    pattern = re.compile(r'hello.*\!')
    # 使用pattern对象匹配文本,获得匹配结果,无法匹配时返回None
    match = pattern.match('str')
    #以规则做分割
    match = pattern.spilt('')
    #替换一些匹配的数据
    match = pattern.sub('')
    #替换匹配数据的次数
    match = pattern.subn('')
    

    相关文章

      网友评论

          本文标题:爬虫的提取(2)--re正则

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