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

    re模块主要用于查找、替换、分割

    print(re.__doc__)

    特殊字符(元字符):

    "."           任意一个字符,除换行符( )

    "^"          字符串开头

    "$"          字符串结尾

    "*"          >=0个字符,贪婪匹配

    "+"          >=1个字符,贪婪匹配

    "?"          0或1个字符,贪婪匹配

    {m, n}        重复m至n次个字符,贪婪匹配

    *?, +?, ??, {m, n}?  非贪婪,尽量少

    []           一个字符

    "|"           或

    ()           group使用,分割使用时,全部作为列表元素

    (?P<name>)      字符匹配别名

    特殊序列:

    A   字符串开始

       字符串结尾

       开始或结尾位置的空字符串

    B   非

    d   [0-9]

    D   [^0-9]

    s   空白字符 [ fv]

    S   非s [^s]

    w   [a-zA-Z0-9_] 数字、字母

    W   非数字、字母

    \   

    可选函数参数:

    re.I  忽略大小写 

      注:分割不忽略大小写

    re.M  多行匹配

      注:改变^$方式为:每行都判定

    函数:

    (1)查找(找到一个就完成)

    match(patttern, string)

      从字符串开始位置匹配,无返回None

    search(pattern, string)

      整个字符串范围内匹配,无返回None

    (2)匹配条件

    compile(pattern)

    (3)分割

    split(pattern, string)

      匹配分割,返回列表

    (4)全部查找

    findall(pattern, string) 

      查找所有匹配子串,返回列表

    finditer(pattern, string)

      查找所有匹配子串,组成一个迭代器

    (5)替换

    sub(pattern, repl,  string)

      在字符串string中,查找匹配正则表达式pattern的所有子串,用另一个字符串repl进行替换

    subn(pattern, repl, string)

      同sub,返回二维元组

    运用方式:

    r1 = re.compile("[.*]")
    
    re.findall(r1, "abc")
    r1 = re.compile(r"world")
    if r1.match("helloworld"): print("Ok")
    re.split("(w+)", "192.168.1.1")
  • 相关阅读:
    判断当前是否运行于Design Mode
    从Setting.settings到Resource.resx
    构造函数强制使用new
    getFullYear 方法
    前端开发中经常使用到的20个正则表达式。
    函数调用模式
    javascript中return的作用
    javascript数组遍历for与for in区别详解
    闭包
    js split 的用法和定义 js split分割字符串成数组的实例代码
  • 原文地址:https://www.cnblogs.com/todayisafineday/p/6130566.html
Copyright © 2011-2022 走看看