• 正则表达式基础(未完)


    入门

    一、行起始和结束『^』『$』

    # ^ 和 $
    ^cat #匹配c作为一行的第一个字符,紧接着第二个a,第三个t
    cat$ #匹配t作为一行的最后一个字符,紧接着第二个a,第三个c
    

    二、字符组『[]』『[^]』

    #匹配若干字符之一
    r = "apple "
    re = re.match('ap[ap]le',r)#匹配apple和apale
    print(re.group())
    >>>apple
    
    #排除型字符组
    [^1-6]#排除1到6以外的任意字符:[]内,^排除;[]外,^开头
    #理解为匹配出一个未列出的字符,而不是不要匹配出的字符
    

    三、用点号匹配任意字符『.』

    例如我们需要搜索一个“04/11/98”、“04-11-98”、“04.11.98”
    可以用到

    #不机智的方法
    04[-./]11[-./]98
    #机智的方法
    04.11.98
    

    注意:

    在字符组外和内,元字符的定义和意义是不一样的比如那个点号,其中[-./]中的-也不算元字符,因为正确用法不是在 [ 或 [^ 之后而是[.-/]所以不被当做元字符

    四、多选结构『|』

    字符 | 意思是or
    比如apple和apale要查找这两个字符

    apple|apale   #查找apple or apale
    
    #可以用括号来划定多结构的范围
    ap(a|p)le     #查找ap(p or a)le
    
    ^(From|Date|Sub):     #匹配^From:和^Date:和^Sub:
    ^From|Date|Sub:       #匹配^From和Date和Sub:
    

    注意:

    一个字符组只能匹配目标文本中单个字符,而每个多选结构自身可能就是完整的正则表达式,都可以匹配任意长度的文本

    五、忽略大小写

    在egrep中使用-i即可
    例子:

    egrep -i '^(From|Date|Sub):' filename 
    

    六、单词分界符『<』『>』

    匹配英语单词
    <和>不是元字符,通过转移才有特殊的含义
    <单词起始位置
    >单词结束位置

    未验证成功

    七、量词- 可选项元素『?』

    ?前的容许出现改字符,但是不是必选项

    a = apple
    b = aple
    #要想让两个字符都可以匹配就可以这样写
    app?le#匹配『a』『p』『p?』『l』『e』其中『p?』表示这个字符不是匹配成功的必要条件
    

    八、量词-重复出现『+』『*』

  • 相关阅读:
    eclipse使用svn
    yum安装mysql
    spring中aop使用
    mybatis定义拦截器
    横扫页面的三大标签
    springmvc日期格式化
    springmvc笔记
    springboot跳转jsp页面
    常用网址
    CentOS Android Studio桌面图标的创建
  • 原文地址:https://www.cnblogs.com/ctccaozhe/p/13221815.html
Copyright © 2020-2023  润新知