zoukankan      html  css  js  c++  java
  • 正则

    python之re---正则表达式

    python之re---正则表达式

    re就是从字符串中获取想要的内容

    re.findall

    练习
    s = "alex,meet,ave_j"
    import re
    print(re.findall('ee',s))  #从左往右找,找出对应的字符
    

    元字符

    w 匹配出出特殊符号的字符串,如中文,字母,下划线,数字 ***

    s = "alex,meet,ave_j"
    re.findall("w",s)
    结果为['a','l','e','x','m','e','e','t','a','v','e','_','j']
    

    W 匹配非字母字符串(包含中文)或者下划线,数字

    s 匹配任意的空白符(空格)

    S匹配非空格(包含特殊符号)(包括中文),数字,下划线 ***

    d 匹配数字

    D 匹配非数字

    A 匹配以什么开头

    ^ 匹配以什么开头 findall('^a',s)

     匹配以什么结尾 re.findall('!',s)

    $ 匹配以什么结尾re.findall('!$ ',s)

    以什么开头,以什么结尾 django

    . 代表任意字符

    re.findall('.',s)   匹配到字符串中的所有字符(换行和制表符除外)
    

    re.findall('.',s,re.DOTALL) 这样就可以匹配到换行符

    [] 匹配括号中的内容

    练习
    re.findall("[0-9]",s)    匹配字符中的0-9字符串
    re.findall("[0-9a-zA-Z]",s)   匹配0-9,a-z,A-Z的字符串
    re.findall("[^0-9]",s)   匹配取反,匹配非0-9字符串
    re.findall("[^.]",s)     匹配非.点所有字符串 在括号中.只是字符串点
    不代表任意字符
    

    *匹配0-n 也就是匹配字符e*0-e*n个字符 贪婪匹配

    + 匹配1-n个字符串 re.findall("e+",s) 匹配结果 1-n贪婪匹配

    ?匹配左边0-1个 如re.finadall("e?",s) 匹配结果 0-1 非贪婪

    精确匹配

    re.finadall("e{2}",s) 匹配两个e,也就是匹配字符串中的ee

    re.findall("e{0,3}",s) 匹配字符传中,0-3个e的字符串,匹配顺序先匹配3个的,再匹配两个的,依次往下

    | 或的意思

    练习
    re.findall("a|e",s)   #匹配字符串中e或者a的一个字符串
    

    () 分组

    练习
    re.findall("l(e)a",s)   #匹配满足前面是l,后面是a的e
    re.findall("e(?:e)e",s)  #匹配到前面是e,后面也是e的e,匹配结果带上()括号前后的内容
    
  • 相关阅读:
    读《大道至简—编程的精义》有感
    c++ 指针做为参数和返回值
    c++ 函数
    c++ 分配与释放内存
    c++ 以多维数组的形式访问动态内存
    c++ 动态数组,指针与动态内存分配
    c++ 指针访问数组
    c++ 常量指针
    c++ 指针
    c++ 字符串转换
  • 原文地址:https://www.cnblogs.com/g15009428458/p/12293477.html
Copyright © 2011-2022 走看看