zoukankan      html  css  js  c++  java
  • (13)python 正则表达式

    匹配单个字符

    f. o    f和o之间是任意字符   例如:fbo123

    .. 任意两个字符

    .用来匹配.

    边界匹配

    the     表示包含the的任何字符串

    ^from 表示以from开头的所有字符串都符合

    /bin$ 表示以/bin结束的所有字符串

    ^abc$  固定必须是abc

    方括号单个字符

    a[asd]c   ac中间可以是 a 、s、d 中的一个字符

    [ab][cd]     可以是ac   ad   bc bd

    方括号范围字符

    可以是 a-z  A-Z 1-9

    a[d-h]b      中间必须是d-h之间的一个

    a[a-fB]b     a到f 或者是B

    闭包操作符

     *匹配左边的字符 可以出现零次或者多次

    + 一次或者多次

    ?零次或者一次

    {} 里面可以单个数字,或者N,M的形式 表示前面的字符可以出现多少次 {8} 必须出现8次    {5,8} 必须出现5到8次

    特殊字符

    用一个特殊字符来简写某些表达式

    例如  W 表示所有数字字符的集合(包括大小写)

    圆括号

     

     

     python里正则表达式的用法

    1.compile()

    compile(‘正则表达式’)  返回一个正则表达式对象

    c=re.compile('a[0-9]b')#

    2.group()和groups()

    成功调用match() 或者search() 后返回一个匹配对象

    此匹配对象有两个方法 group()和groups()

    group()要么返回整个匹配对象,要么根据要求返回特定子组

    groups()返回一个唯一或全部子组的元组

    3.match()

    从字符串的起始位置对模式进行匹配,如果成功就返回一个匹配对象,如果失败返回None。

    group()方法用来显示成功匹配的字符串

    import  re
    
    a=re.match('..abc$','g5abc')
    if a is not None:#如果匹配成功
        print(a.group())

    也可以用

    a=re.match('..abc$','g5abc').group()

    但是匹配失败会抛出AttributeError异常

    4.search()

    和match()用法一样,区别在于在任意位置对给定正则表达式搜索第一次出现的匹配情况

    import  re
    
    a=re.match('foo','sfood').group()#匹配失败,会报错不能打印a
    a=re.search('foo','sfood').group()#搜索成功,但匹配  能打印出a
    print(a)

  • 相关阅读:
    同源策略和跨域知识点学习
    一次脚本注入广告漏洞分析
    一个利用微信分享的项目开发过程以及后续思考
    react-native —— 在Windows下搭建React Native Android开发环境
    ionic —— 开发环境搭建并编译运行第一个APP
    错误: 找不到或无法加载主类
    jekyll and github.io搭建博客遇到的问题
    java 10 生成头文件
    JNI的使用
    vivado error:incorrect freePtr. Call out of sequence?
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/7126418.html
Copyright © 2011-2022 走看看