• 正则表达式


    正则表达式是用于处理字符串的强大工具, 检查一个字符串是否与某种模式匹配。

    元字符 :

    #  .   ^   $   *   +   ?   {}  []      |   ()
    

    大多数字母和字符会匹配它们自身,有少数特殊字符我们称为元字符,它们不能匹配自身,它们定义了字符类、子组匹配和模式重复次数等

    元字符的使用

    .    匹配除换行符之外的所有的字符 
    d  匹配0~9的数字   
    s   匹配任意的空白符,包括空格,制表符(Tab),换行符等
    w 匹配字母或数字或下划线或汉字等  
      表示单词的边界
    ^    脱字符,匹配输入字符串的开始的位置
    $   匹配输入字符串的结束位置
    .   表示匹配点号本身
    D、S、W、B是与小写的相反的作用
    

    匹配次数

     {M,N}   M和N 为非负整数,其中M<=N表示前面的匹配M~N次
     {M,}   表示需要匹配M次
     {,N}    等价于{0~N}
     {N}      表示需要匹配N次
     *      匹配前面的子表达式零次或多次,等价于{0,}
     +      匹配前面的子表达式一次或多次,等价于{1,} 
     ?   匹配前面的子表达式零次或一次,等价于{0,1}
    注:*?、+?、{n,m}?  贪婪与懒惰
    
    

    子组匹配

     [ ]   字符类,将要匹配的一类字符集放在[]里面
     例如:
     [ . ? * ( ) {} ]     匹配里面的这些符号
     [0-9]                 匹配0到9的数字相当于d
     [^d]                  匹配除数字以外的字符,相当于D
     [a-z]                  匹配所有的小写字母
     [^a-z]                 匹配非小写字母
    
    |   相当于或(or)分支条件
    例如:
    A | B                 匹配字母A或者B 与[AB]是一样的
    

    分组

     ()  分组,将要匹配的一类字符集放在()组成一个小组 
    例如:
     (d){3} 匹配一个三位数
     a(bc)*匹配一个a和0个或多个bc
     a(b|c) 匹配ab或者ac
    

    re模块

    re.compile() 编译正则表达式为模式对象
    re模块的常用方法
    match() 判断一个正则表达式是否从开始处匹配字符串
    search()   遍历字符串,找到正则表达式匹配的第一个位置
    findall()     遍历字符串,找到正则表达式匹配的所有位置并以列表的形式返回
    查看匹配对象中的信息
    group() 返回匹配到的字符串
    star()返回匹配的开始位置
    end()返回匹配的结束位置
    span()  返回一个元组表示匹配位置(开始,结束)
    
  • 相关阅读:
    40+精彩的HTML5实例和教程
    10+不错的设计资源和灵感的网站
    js利用点击事件做一个简单的计算器
    如何在canvas中画出一个太极图
    利用canvas画一个实时时钟
    利用随机数与定时器做一个简单的伪随机抓阄游戏
    IE8模对话框无法返回至主页面的解决方法
    C# String.Format字符串中包含"{" "}"时需注意的问题
    [Struts2应用开发] 统一的登录验证
    Visual Studio 2008 Express中文版 ‘加载此属性页是出错’ 解决方法
  • 原文地址:https://www.cnblogs.com/zhuzq/p/9529299.html
Copyright © 2020-2023  润新知