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

    一 正则表达式

    1 功能字符串的模糊匹配查询

    "hello".find("yuan  egon alex")

    2 元字符

    re.findall('查找对象','内容')----匹配出所有条件的元素

    元字符包括:. ^ $ * + ? { } [ ] | ( )

    . :除换行符以外的任意“一个”符号

    ret=re.findall("李.","李杰,李刚,王超,占山")
    print(ret)

    ^ :只匹配字符串开始的位置

    import re
    ret=re.findall("^李.","yuan李杰,李刚,王超,占山,李莲英")
    print(ret)

    $ :只匹配字符串最后一个(末尾)位置

    import re
    ret=re.findall("y..n$","yabn李杰,李刚,王超,占山,李莲英")
    print(ret)

    重复元字符

    * :(0,无穷)

    import re
    ret=re.findall("131d*","1312312321,412341,131,32424,131234213423,123415234123324111,123412341234,12341234")
    print(ret)

    + :(1,无穷)

    import re
    ret=re.findall("131d+","1312312321,412341,131,32424,131234213423,123415234123324111,123412341234,12341234")
    print(ret)

    ? :(0,1)

    import re
    ret=re.findall("-?d+","131,41,-11,12,-4")
    print(ret)

    {} :指定次数

    import re
    ret=re.findall("d{18}","12312321,412341,32424,1234213423,123415234123324111,123412341234,12341234")
    print(ret)

    二 转义符

    1 反斜杠后边跟元字符去除特殊功能,比如

    2、反斜杠后边跟普通字符实现特殊功能,比如d

    d  匹配任何十进制数;      它相当于类 [0-9]。
    D  匹配任何非数字字符;    它相当于类 [^0-9]。
    s  匹配任何空白字符;      它相当于类 [ 	
    
    fv]。
    S  匹配任何非空白字符;    它相当于类 [^ 	
    
    fv]。
    w  匹配任何字母数字字符;   它相当于类 [a-zA-Z0-9_]。
    W  匹配任何非字母数字字符; 它相当于类 [^a-zA-Z0-9_]
      匹配一个特殊字符边界,比如空格 ,&,#等

    让我们看一下的应用:

    ret=re.findall(r'I','I am LIST')
    print(ret)#['I']

    接下来我们试着匹配下“abcle”中的‘cl’:

    import re
    
    ret=re.findall('cl','abcle')
    print(ret)#[]
    
    ret=re.findall('c\l','abcle')
    print(ret)#[]
    
    ret=re.findall('c\\l','abcle')
    print(ret)#[]
    
    ret=re.findall(r'c\l','abcle')
    print(ret)#[]
    
    
    # 是特殊符号所以,'abce'前面需要加r
    ret=re.findall(r'c\b',r'abce')
    print(ret)#[]

    分组()

    m = re.findall(r'(ad)+', 'add')
    print(m)
     
    ret=re.search('(?P<id>d{2})/(?P<name>w{3})','23/com')
    print(ret.group())#23/com
    print(ret.group('id'))#23

    元字符 |

    ret=re.search('(ab)|d','rabhdg8sd')
    print(ret.group())#ab

    字符集【】

    #--------------------------------------------字符集[]
    ret=re.findall('a[bc]d','acd')
    print(ret)#['acd']
     
    ret=re.findall('[a-z]','acd')
    print(ret)#['a', 'c', 'd']
     
    ret=re.findall('[.*+]','a.cd+')
    print(ret)#['.', '+']
     
    #在字符集里有功能的符号: - ^ 
     
    ret=re.findall('[1-9]','45dha3')
    print(ret)#['4', '5', '3']
     
    ret=re.findall('[^ab]','45bdha3')
    print(ret)#['4', '5', 'd', 'h', '3']
     
    ret=re.findall('[d]','45bdha3')
    print(ret)#['4', '5', '3']
  • 相关阅读:
    北京爱丽丝幻橙科技有限公司
    红杉资本中国基金:创业者背后的创业者
    关于我们_ | 腕表时代watchtimes.com.cn
    当你想放弃的时候,问一下自己你尽力了吗
    李圣杰_百度百科
    范思哲
    DOM Traversal Example | Documentation | Qt Project
    关于QT中evaluateJavaScript()函数返回值的处理问题
    JS获取整个HTML网页代码
    javascript
  • 原文地址:https://www.cnblogs.com/f1443526266/p/7081049.html
Copyright © 2011-2022 走看看