zoukankan      html  css  js  c++  java
  • 正则表达式

    匹配到你想要的

    import re

    #以findall为例

    print(re.findall())#findall的括号里分为两部分,第一部分是你需要什么,即正则表达式,如print(re.findall('w','12321323123'))

    12321323123则为你要匹配的字符串

    常用的表达式有

    w#匹配字母数字下划线

    W#匹配非字母数字下划线

    s#匹配任意空白字符

    S#匹配任意非空字符

    d#匹配任意数字[0-9]

    D#匹配任意非数字

    A#匹配字符串开始

    #匹配字符串结束

    ^从头开始找 findall('^e','e123')结果为e,只能找到一个e

    $从结尾找 a$findall('&3','e123'),能找到一个3

    .代表任意一个字符print(re.fandall('a.b','a1b a b a-b aaaab')) 匹配到a1b a b a-b aab

    ?问好左边的出现过0次或1次print(re.fandall('ab?','a ab abb abbbb a1b'))匹配到a ab ab ab a

    * 代表*左边的字符出现0次到正无穷次print(re.fandall('ab*','a ab abb abbbb a1b'))匹配到 a ab abb abbbb a

    + 代表+号左边的字符出现1次到无穷次print(re.fandall('ab+','a ab abb abbbb a1b'))匹配到 ab abb abbbb  

    {m,n}代表括号左边字符出现m到n次print(re.fandall('ab{0,1}','a ab abb abbbb a1b'))匹配到a ab ab ab a,与?号一致

    print(re.fandall('ab{0,}','a ab abb abbbb a1b'))匹配到 a ab abb abbbb a 不写就是正无穷次 结果与*号一致

    print(re.fandall('ab{1,}','a ab abb abbbb a1b'))匹配到 ab abb abbbb  不写就是正无穷次 结果与+一致

    也可以取{2,4}     print(re.fandall('ab{2,4,}','a ab abb abbbb a1b') 结果abb abbbb

    贪婪匹配     .*

    print(re.findall('a.*b','a1234567b123b')) 结果 a1234567b123b

    非贪婪匹配  .*? 

    print(re.findall('a.*b?','a1234567b123b'))结果a1234567b

    |或者

    print(re.findall('compan(iess|y)','companiess,company'))匹配到 iess y,只能取到组里的内容iess和y

    要想全部取出需加固定写法?:

  • 相关阅读:
    CSS3:三个矩形,一个宽200px,其余宽相等且自适应满铺
    pidera安装node.js(树莓派)
    深入JavaScript模块化编程
    c# 多显示器设置主屏幕(Set primary screen for multiple monitors)
    c# 获取移动硬盘信息、监听移动设备的弹出与插入事件
    C# 弹出USB外接硬盘(U盘)
    log4net 自定义Appender
    Scrum 思考
    监控浏览器关闭事件
    判断地图的点是否在面内 腾讯地图
  • 原文地址:https://www.cnblogs.com/liqui/p/8262774.html
Copyright © 2011-2022 走看看