zoukankan      html  css  js  c++  java
  • 正则表达式基础

    单字符匹配:

    d:匹配所有的数字字符

    D:除了d

    s:匹配所有的空白字符, ,空格等

    S:除了s

    w:匹配数字,字母,下划线,中文

    W:除了w

    .:除了换行符以外的所有字符

    []:匹配其中的任意一个字符,如[0-5]:匹配0到5之间的任意一个数字,同理[a-z],[A-Z]

    数量修饰符

    {}:修饰前边的一个字符出现多少次

    {5,}:至少5次,能匹配多少就匹配多少

    {5,8}:至少5次,对多8次

    {0,}:任意多次,相当于*

    {1,}:至少1次,多了不限,相当于+

    {0,1}:可有可无 ,相当于?

    延伸的用法:

    .*:都能匹配,长度不限

    .+:至少一次才能匹配

    小括号是非常有用的,

    ():分组

    1. 可以视为一个整体
    2. 子模式   1   2    $1   $2

    贪婪模式:

    .*?

    .+?

    模式修正符:

    re.I:忽略大小写

    re.S:视为单行模式

    re.M:视为多行模式

    re.match():从字符串的头开始匹配,如果匹配成功,返回的是一个对象,匹配失败报错。

    re.findall():匹配所有,返回的是一个列表,列表中的元素是匹配到的内容,若没有匹配到则返回一个空列表

    re.search():从字符串的任意位置开始匹配,匹配成功就直接返回,匹配不成功就报错。

    import re
    正则表达式的包

    string = "this is a love1ly girl lovel1y"
    pattern = re.compile(r"lovely")
    ret = pattern.search(string)
    print(ret.group())
    # group()是返回匹配的整个表达式的字符串


        

  • 相关阅读:
    Codeforces Round #545 (div 1.)
    THUSC 2017 大魔法师
    loj #6216. 雪花挂饰
    [NOI Online #2 提高组]涂色游戏
    [NOI Online #2 提高组]子序列问题
    [NOI Online #1 入门组]跑步
    备战noip week7
    [NOI Online #3 提高组]优秀子序列
    20201017校测
    springboot基于maven多模块项目搭建(直接启动webApplication)
  • 原文地址:https://www.cnblogs.com/kuangkuangduangduang/p/10373576.html
Copyright © 2011-2022 走看看