• 正则


    语法:re.findall(r'正则的规则','被匹配的对象')
    一定要记熟下边的元字符
    ^a:以a开头的(只找开头),没有就返回空列表[]
    A((必须是)在后边):以a结尾(只找结尾), 没有就返回空列表[]
    , :找所有,有几个列几个

    组:要是组的话用.group()
    print(ret.group())
    

    以下几个就是组:
    findall():找所有,有几个列几个,列表形式,没有就是空列表
    finditer():#组,找所有,放到迭代器里,一个一个取,没有就报错
    search()#组,找所有,找到为止,没有报错
    match()#组,只找开头,不是就停止查找,就报错

    举个例子:

    import re
    ret = re.match(r'a','cbad')
    print(ret.group())
    ret = re.finditer(r'ab','abxcab')
    print(ret.__next__().group())    #组
    print(ret.__next__().group())    #组
    for i in ret:
        print(i.group())
    

    {a,b} 意思是前边内容出现m-n次范围 (ab必须挨着)
    print(re.findall('a{2,4}b', 'ab aab aaab aacbaaabb'))
    

    结果是: ['aab', 'aaab', 'aaab']
    a?b 非贪婪的

    print(re.findall('a?b','b ab aab abacdb aaaacb '))
    

    结果是:['b', 'ab', 'ab', 'ab', 'b', 'b']

    sub 替换 split 切割 complie

    | 替换,"或"操作字符具有高于替换运算符的优先级,使得"m|food"匹配"m"或"food"。若要匹配"mood"或"food",请使用括号创建子表达式,从而产生"(m|f)ood"。 |

    字符 说明
    (abc) capture group,捕获组
    backreference to group #n,分组引用,引用第 n 个捕获组匹配的内容, 其中 n 是正整数
    (?:abc) non-capturing group,非捕获组

    1.4 先行断言

    字符 说明
    a(?=b) positive lookahead,先行断言,a 只有在 b 前面才匹配
    a(?!b) negative lookahead,先行否定断言,a 只有不在 b 前面才匹配

    1.5 后行断言

    字符 说明
    (?<=b)a positive lookbehind,后行断言,a 只有在 b 后面才匹配
    (?<!b)a negative lookbehind,后行否定断言,a 只有不在 b 后面才匹配

    惰性匹配,就是尽可能少的匹配
    以下都是惰性匹配:
    {m,n}?
    {m,}?
    ??
    +?
    *?

    1.8 修饰符

    字符 说明
    i 执行对大小写不敏感的匹配。
    g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
    m 执行多行匹配。
    u 开启"Unicode 模式",用来正确处理大于uFFFF 的 Unicode 字符。也就是说,会正确处理四个字节的 UTF-16 编码。
    s 允许 . 匹配换行符。
    y y 修饰符的作用与 g 修饰符类似,也是全局匹配,后一次匹配都从上一次匹配成功的下一个位置开始。不同之处在于,g 修饰符只要剩余位置中存在匹配就可,而 y 修饰符确保匹配必须从剩余的第一个位置开始,这也就是"粘连"的涵义

    (a) <=> (a+)* <=> (a)+ <=> a
    (a+)+ <=> a+

  • 相关阅读:
    iOS中静态库的制作——使用创建静态库项目的方式创建静态库
    在Xcode中自定义代码块——快速代码
    在博客园的第一篇博客
    委派
    As I Began to Love Myself
    When you are old
    RESOURCE SUMMARY
    First One
    js 动态生成div显示id
    js 层的显示和隐藏
  • 原文地址:https://www.cnblogs.com/xm-179987734/p/12308304.html
Copyright © 2020-2023  润新知