zoukankan      html  css  js  c++  java
  • python模块之re模块

    import re

    #正则表达式是用来匹配字符串的,是一种小型的语言,和列表字典没有任何关系,仅仅是操作字符串,引入正则表达式主要是为了模糊匹配

    s = "Process finished with exit code"

    #元字符
    # .:点号,任意单个字符,但是不能匹配换行符,且只能代指一个字符
    # ^:尖角号,是行首匹配,只从行首开始匹配
    # $:美元符,是行尾匹配,只从行尾开始匹配
    # *:星号,次数匹配,匹配前面的字符0次或者多次,默认匹配是贪婪匹配的
    # {n,m}:次数匹配,匹配前面的单个字符最少n次,最多m次
    # {n}:匹配前面的单个字符n次
    # +:匹配前面的单个字符至少一次
    # ?:匹配前面的单个字符0次或者1次
    # []:中括号,匹配中括号中的任意单个字符,但是有三个字符是例外
    # -中划线,表示一个范围,比如1-9表示1到9之间的任意一个数字
    # ^尖角号,表示取反,匹配任意一个不属于括号中的字符
    #
    # :和元字符搭配使用,表示脱意符,表示元字符不代表特殊的意思,只表示一个普通的字符
    # 和普通字符搭配使用,表示特殊的意义,比如下面的例子
    # d:表示任意一个数字
    # D:表示任意一个非数字
    # w:表示任意一个字母或者数字
    # W:表示任意一个非字母或者非数字
    # s:表示任意空白字符
    # S:表示任意一个非空白字符
    # :表示匹配任意一个单词的边界,任意的特殊字符都被认做单词的边界
    #
    # ():表示一个分组
    # |: 表示或,代表匹配竖线左右的两端的字符串



    print(re.findall("he..o","hello world,hello again"))

    print(re.findall("^he..o","hello world,hello again"))

    print()







    #findall方法:返回所有匹配到的结果,然后返回到一个列表中
    # 参数:
    # pattern:规则
    # string:要匹配的字符串
    # flag:标志位,修改默认规则的,一般不用




    # search方法:
    # 如果匹配上,则返回一个match的对象,这个对象可以调用group方法来返回匹配的字符串
    # 返回匹配到的第一个对象

    # match方法:
    # 如果匹配上,则返回一个对象,如果匹配不上,则返回none
    # 只在字符串最开始的时候开始匹配
    #

    # split方法:分割字符串

    print(re.split("[ad]","1a122dba444"))

    # 先用a来分割,分割好后,在用d来分割

    # sub方法:替换字符串,第一个是规则,第二个是规则匹配到的字符串替换的内容,第三个是字符串
    print(re.sub("a..x","zabcdef","alexaaaaaaaaaaaaa"))

    print(re.findall(".com","www.cctv.com"))

    # re.compile():可以把一个正则表达式编译为一个对象,其他re的方法如果也需要这个规则匹配,那么直接调用这个对象即可
    obj = re.compile(".com")

    # 那么其他re的方法就可以直接用这个编译好的对象了
    # obj.findall()
    # obj.sub()
    # obj.search()
    # obj.match()
    # obj.split()


    s = "1-2*((60-30+(-40/5)*(9-2*5/3+7/3*99/4*2998+10*564/14))-(-4*3)/(16-3*2))"
  • 相关阅读:
    根据snort规则写openvas nasl 攻击 脚本
    snort规则中tcp/udp端口的具体作用
    snort规则头解析
    正则匹配中的特殊案例
    snort 规则 byte_test 不同运算符命中条件
    Linux中tar命令的一些用法
    Thymeleaf传递url参数
    PO BO VO DTO POJO DAO DO 令人迷惑的Java概念
    linux中多个命令连接符— ; && || ()
    遇见了count(1)这种写法,什么意思?
  • 原文地址:https://www.cnblogs.com/bainianminguo/p/8001471.html
Copyright © 2011-2022 走看看