• 初识正则表达式


    初识:

    正则表达式不是Python当中内置的语法和规则,它是一门独立的语言。正则表达式只和字符串相关,在Python中使用正则表达式需要调用re模块;

    知识点:

      字符组:[字符组]

    在同一个位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示
    
    字符分为很多类,比如数字、字母、标点等等。
    
    假如要求一个位置"只能出现一个数字",那么这个位置上的字符只能是0、1、2...9这10个数之一。

    例如:

    [0123456789]
    一个位置只能出现这个字符组当中的一个,比如‘1’,这是正确的。如果是‘123456’,那么这里面是有6个结果
    [0-9]
    '-'表示范围,[0-9]表示这个字符组里枚举合法的所有字符,和[0123456789]作用相同
    [a-z]
    和数字的原理一样,如果要匹配所有的小写字母,直接用[a-z]就可以表示
    
    [A-Z]
    和小写字母原理一样
    
    [A-z]
    在asciii码值当中,大写字母排在小写字母前面,并且大写字母后边不是立即跟随小写字母,而是两者之间有几个特殊符号
    
    所有[z-A]为错误表达式
    只能从大到小
    所有的表达式还可以结合起来
    [0-9a-zA-Z]
    所有的数字和大小写字母都能够匹配,还可以设置其它范围,例如[5-9g-zA-F]

    字符:

      常用元字符:

    . 匹配换行符以外的任意字符
    w 匹配数字、字母或者下划线
    s 匹配任意的空白符空格、回车、Tab
    d 匹配任意数字
    匹配制表符:Tab

    匹配换行符
     匹配一个单词的结尾
    ^ 匹配字符串的开始
    $ 匹配字符串的结尾
    a|b 匹配a或者b
    () 匹配括号内的表达式,表示一个组
    [] 匹配字符组中的字符

     

    常用反义词:

    W 匹配非字母、数字和下划线的汉字字符
    D 匹配任意非数字字符
    S 匹配任意非空白符的字符
    B 匹配不是单词开头或结束的位置
    ^x 匹配除了x以外的任意字符
    ^aeiou 匹配除了aeiou这几个字母以外的任意字符

    转义符:

      匹配正则表达式的关键字,如: ,,w,s等需要加上转义符‘’,即‘\n’,'\b'……

     

    贪婪匹配:

    <.*> 匹配<>之间的所有字符
    <.*?> 匹配第一个<>之间的所有字符
  • 相关阅读:
    P1843 奶牛晒衣服
    P1577 切绳子
    P2777 [AHOI2016初中组]自行车比赛——洛谷
    选择我自己的算法 2012年CCC加拿大高中生信息学奥赛
    如何修改博客园里个人首页背景(form:cot 大犇)
    洛谷P1105 平台
    SPFA模板板板板板板板板板板板板板板板板板板板板板板板板板板板板板板板板板板板板板板板板板板板板板板
    洛谷p2504 HAOI2006 聪明的猴子
    舒适的路线
    超级质数
  • 原文地址:https://www.cnblogs.com/aizhinong/p/11419888.html
Copyright © 2020-2023  润新知