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

    代码:

     1 # 导入正则表达式的包
     2 import re
     3 
     4 
     5 
     6 def main():
     7     # re.match(正则表达式,要匹配的字符串) 从头匹配
     8     # 如果要匹配的字符串有".","*","+" 这种正则表达式有的符号,则需要用转义
     9     ret = re.match(r"[a-zA-Z0-9][a-zA-Z0-9_]{4,20}@(163|126).com$","laowang@126.com")
    10     if ret:
    11         print("----match匹配----")
    12         # group()取出匹配到的值
    13         print(ret.group())
    14 
    15     # 分组
    16     str = "<body><h1>hahahaha</h1></body>"
    17     # 把需要分组的用括号括起来,第几对括号就是第几组,可以用数字来表示第几组
    18     ret = re.match(r"<(w*)><(w*)>.*</2></1>",str)
    19     if ret:
    20         print("----分组----")
    21         print(ret.group())
    22 
    23     # 起别名-----分组很多的时候用
    24     # (?P<name>正则表达式) (?P=name) P字母大写
    25     ret = re.match(r"<(?P<body>w*)><(?P<h1>w*)>.*</(?P=h1)></(?P=body)>",str)
    26     if ret:
    27         print("----起别名----")
    28         print(ret.group())
    29 
    30     # search(正则表达式,要匹配的字符串)  查找匹配 只匹配一次 找到就停
    31     ret = re.search(r"d+","阅读次数为9999,点赞量:100")
    32     if ret:
    33         print("----search查询匹配")
    34         # 只匹配一次 只会显示阅读次数 9999 而点赞数不会被匹配
    35         print(ret.group())
    36 
    37     # findall(表达式,要匹配的字符串) 查询所有符合的字段 以列表的形式返回
    38     ret = re.findall(r"d+","python=9999,c=322,c++=132123")
    39     if ret:
    40         print("----findall查询所有")
    41         # 注意:此处用ret输出 group不能返回列表
    42         print(ret)
    43 
    44     # 替换 sub(表达式,替换的值/函数的引用,需要被替换的字符串)
    45     ret = re.sub(r"</*w+>", "", str)
    46     if ret:
    47         print("----sub替换-----")
    48         # 去除html标签
    49         print(ret)
    50     # 切割 split(表达式,要匹配的字符串) 根据匹配进行切割字符串 并返回一个列表
    51     ret = re.split(r":| ","内容:失恋 33 天")
    52     if ret:
    53         print("----split替换----")
    54         print(ret)
    55 
    56 
    57 
    58 
    59 if __name__ == '__main__':
    60     main()

    结果:

    ----match匹配----
    laowang@126.com
    ----分组----
    <body><h1>hahahaha</h1></body>
    ----起别名----
    <body><h1>hahahaha</h1></body>
    ----search查询匹配
    9999
    ----findall查询所有
    ['9999', '322', '132123']
    ----sub替换-----
    hahahaha
    ----split替换----
    ['内容', '失恋', '33', '天']
    

      

  • 相关阅读:
    [spoj DISUBSTR]后缀数组统计不同子串个数
    [poj 3261]后缀数组+滑窗最小值
    [poj 1743]差分+后缀数组
    [codechef MEXDIV]Mex division
    JavaScript中的数组和对象 增删遍
    ajax返回的值有两种方法,一种是把async:true改为false。 另一种是回调函数。
    使用smart-npm和npm安装完毕之后发现 不是内部命令和外部命令!
    移动端rem设置,自动更改html<font-size>
    总结js创建object的方式(对象)
    用css方法 可以实现多行 超出宽度 出点点点号
  • 原文地址:https://www.cnblogs.com/yifengs/p/11401916.html
Copyright © 2011-2022 走看看