• 正则以及re库的使用


    正则表达式

    . 可以代表任意字符(换行、空格、翻页符除外)
    ^a 表示a字母开头
    [^a-c] 表示该字符非ac
    a? 字母a出现0或1次
    a+ 表示字母a出现1次及以上
    a* 表示字母a出现0次或以上

    {n} 表示匹配前一个字符n次; ex: {2}可以匹配pool,但不匹配pop
    {n,} 表示前一个字符至少匹配n次
    {n,m} 表示最少匹配n次 最多m次;
    ? 非贪婪模式; 用于修饰+,*,{}; 进行最短匹配;
    a|b 匹配a或者b
    [xyz] 字符集合匹配任意一个字符
    [^xyz] 负值字符集合,匹配非xyz
     匹配单词边界 ex:'er' 可以匹配driver中的'er','dri' 可以匹配drive中的'dri'
    B 匹配非边界 ex:'erB'可以匹配verb中的'er',但不能匹配driver中的'er'
    d 匹配数字 等价[0-9]
    D [^0-9]
    w [A-Za-z0-9_]
    W [^A-Za-z0-9_]

    re库

    re库是python标准库;使用前import re

    re库的几个方法:

    方法 作用
    re.search() 搜索匹配的第一个字符 返回match对象
    re.match() 从开始位置搜索匹配的对象并返回match对象,若开头不是匹配的对象则返回None;
    re.findall() 搜索所有匹配对象并返回一个列表
    re.finditer() 搜索所有匹配项,并返回;每一个返回值都是一个match,通常使用for进行遍历;
    re.sub() 用一个字符串替换所匹配项,返回替换后的字符串
    re.split() 切割匹配对象,返回剩余对象;默认全切,可加参数;返回列表

    re.compile

    >>>import re
    >>>text_str = 'a,b,,,,cd'
    >>>reObj = re.compile(r'[, ]+')
    >>>reObj.splie(text_str)

    ['a', 'b', 'c', 'd']

    当然这里的reObj 也可以使用前面的6种方法,这里的pattern就是r'[, ]+',并且不需要再次填写了;

    深度学习 开拓视野
  • 相关阅读:
    JavaScript--事件绑定及深入(26)
    JavaScript--事件对象(25)
    JavaScript--事件入门(24)
    JavaScript--动态加载脚本和样式(23)
    JavaScript--DOM元素尺寸和位置(22)
    JavaScript--DOM操作表格及样式(21)
    JavaScript--DOM进阶(20)
    jQuery-瀑布流的取巧做法分享
    Less开发指南(二)- 基本语法
    less开发指南(一)- 小牛试刀
  • 原文地址:https://www.cnblogs.com/janeyu/p/10912478.html
Copyright © 2020-2023  润新知