zoukankan      html  css  js  c++  java
  • python正则模块一

    import re
    #匹配元字符
    # str1="heltzzomll"
    # zz=re.findall("t..om",str1) #一个点代表匹配任意的一个字符,除了换行符
    # print(zz)
    # z1=re.findall("^hel...o",str1)#^匹配是否以h开头要找到字符
    # print(z1)
    # z2=re.findall("z...l$",str1)#$匹配是否是以l结尾的字符
    # print(z2)
    # ret=re.findall('bcd*','abcdjkdd')#*匹配(0,∞无穷)例如后面已经没有d了,只有j所以只输出bcd
    # print(ret)
    # ret0=re.findall("bce*",'abcdjkdd')#虽然匹配字符最后已经没有e,但元字符数*最少可以是0所以还是会匹配出来bc
    # print(ret0)
    # ret1=re.findall("bce*","abceeeeddd")#e后面匹配是有e所以会输出bceeee
    # print(ret1)
    # re2=re.findall("abc+","abcccceeeeddd")+#匹配(1,∞无穷)最少有符合条件的1个
    # print(re2)
    # re3=re.findall("abd+","abcccceeeeddd")#因为匹配结尾的d一个也没有匹配上所以输出为空
    # print(re3)
    # ret=re.findall("abc?","abccccdeeedd")#?匹配(0,1)可以一个没有,但是多的时候也只匹配一个
    # print(ret)
    # ret=re.findall("abc?","abddeefffss")#即使要匹配的字符abc最后一个c不存在,仍然会匹配出来ab
    # print(ret)
    # ret=re.findall("abc{1,4}","abccccccccdede")#{}匹配指定的个数输出abcccc输出4个c第1个到第4个
    # print(ret)
    # ret=re.findall("abc{1,4}","abcccecccdegefefe")#输出3个c到第4个都时候不在是C只能输出来3个
    # print(ret)
    #* + {}都为贪婪匹配有多少匹配出来多少,?为惰性匹配,无论多少也只给你匹配出来1个
    #综合运用
    # ret=re.findall("abc*?","abcdcccccc")#因为?是惰性匹配,前面的*是0到无穷,?就直接忽略掉c输出ab
    # print(ret)
    # ret=re.findall("abc+?","abccccc")#因为?是惰性匹配,但前面的+是1到无穷,最小是1所以输出来abc
    # print(ret)

    #匹配原字符集
    str1="wwwbcomw123QQw99wZZwacom"
    # ret=re.findall("w[ab]com",str1)#[]里的字符关系为或的关系,匹配wacom或者wbcom符合这两个里面的任意两个即可
    # print(ret)
    #注意元字符集里除了^-外没有特殊符号,例如*,?+,都是做为普通字符集来处理的
    # ret=re.findall("w[a-z]",str1) #字符集里特殊字符-,其中a-z表示啥小写a-z之间的任意字母还有大写的A-Z,0-9等等
    # print(ret)
    # ret=re.findall("w[^a-z]",str1)#^代表匹配字符集里非a-z的字符
    # print(ret)
    # ret=re.findall("z[d]","z213wwwww")#为转义字符,可以把一些特殊功能字符专为普通字符也可以把普通字符专为有意义的
    # print(ret)
    #d匹配任何十进制数相当于[0-9] D匹配任何非数字的字符相当于[^0-9]
    #s匹配任何空白字符,相当于[ fv] S匹配任何非空白字符相当于[^ fv]
    #w匹配任何字母数字字符,相当于[a-zA-Z0-9] W匹配任何非字母数字字符相当于[^a-zA-Z0-9]
    #例子说明:2*3(34-2*(4-2)+23)取出最里层括号里的内容
    str2="2*3(34-2*(4-2)+23)"#先用(匹配出来(;在用[^()]把括号排除出去,相当于把(4-2)里4匹配出来了后面如果不加*的话,到)就结
    #束了永远匹配不出来后面数字,因为只有3就成了(4),肯定是匹配不出来的所以实际匹配规则就是([^()]*)
    ret=re.findall("([^()]*)",str2)#此处的*是匹配出来非括号的所有字符
    print(ret)
  • 相关阅读:
    实时获取阿里旺旺聊天记录,实时获取千牛聊天记录
    千牛hook 旺旺hook,旺旺发消息call,千牛发消息call,千牛机器人,破解旺旺发消息代码,破解千牛发消息代码,反汇编旺旺发消息,反汇编千牛发消息,旺旺发消息组件,千牛发消息组件
    hook千牛 千牛破解发消息 千牛机器人 千牛发消息组件 调用千牛发消息 实时获取千牛聊天记录 可以提供代码
    [转发]分布式事务,这一篇就够了
    C++之throw以及try{}...catch{}【转载】
    C++之Effective C++学习-条款2
    c++中为什么析构函数要被设置为虚函数(virtual)
    c++中在声明静态变量时,使用const可直接初始化,不在需要定义式
    js检测浏览器类型_js检测是否为火狐浏览器
    PHP8.0 JIT 配置
  • 原文地址:https://www.cnblogs.com/Centwei/p/14529492.html
Copyright © 2011-2022 走看看