2019-11-27-Python正则表达式

1127正则表达式与内存管理

  1. 内存管理:内存分为栈区间和堆区间,栈区间的内存是系统自动申请释放;堆上的内存需要程序通过调用malloc函数去申请,通过调用free函数去释放;

    高级语言(java、C++、0C、Python)中内存管理机制,都是针对堆上的内存的管理进行自动化操作

  2. Python内存管理机制:

    1)内存申请:Python中所有数据都是存于堆中;变量与函数调用过程压栈存于栈中,变量中保存堆中数据的地址;如果使用数字和字符串给变量赋值,会先检查内存是否有这个数据,如果有会直接将原来的数据地址赋予变量;除了字符串和数字以外,别的数据重新赋值会赋予新的地址

    2)内存释放(垃圾回收机制):在Python中,一个数据对应的内存空间是否释放,取决于这个数据的引用计数是否为0,如果为0就会被释放

    a. 增加引用计数:增加数据的引用

    b. 减少引用计数:删除引用,或者让引用去保存新的数据

    c. 循环引用:Python垃圾回收机制会自动处理循环引用问题

  3. 拷贝:

    1)浅拷贝copy:复制原数据,外层拷贝,返回一个新地址,内层可变数据类型不会拷贝

    2)深拷贝deepcopy:浅拷贝基础上,递归拷贝,内层可变数据类型也会拷贝获得新地址

  4. 正则表达式:re模块;主要解决生活中字符串匹配问题

    1)用正则符号来描述字符串规则,使字符串匹配更简单的一种工具;几乎所有的编程语言都支持正则

    2)正则符号之匹配符号:

    ​ a. 普通字符:在正则表达式中没有特殊意义的字符

    ​ b. ‘.’:代表一个任意字符

    ​ c. ‘\d’:匹配任意一个数字字符,‘\D’:与小写相反

    ​ d. ‘\s’:匹配任意一个空白字符,‘\S’:与小写相反

    ​ e. [字符集]:匹配字符集中的任意一个字符,一个[]只能匹配一个字符

    ​ f. [字符1-字符2]:匹配任意一个字符1到字符2之间的字符

    ​ g. [ ^字符集]:匹配除了字符集以外的任意一个字符

    3)正则符号之检测符号:只检查不匹配

    ​ a. ‘\b’:检测是否是单词边界

    ​ b. ‘^‘:检测字符开头

    ​ c. ’$‘:检测字符串结尾

    4)匹配次数:

    ​ a. ’?‘:匹配0次或1次

    ​ b. '*':匹配任意次数

    ​ c. ’+‘:匹配1次或多次

    ​ d. {N}:匹配N次

    ​ e. {M,N}:匹配M到N次

    ​ f. {M,}:匹配至少M次

    ​ g. {,N}:匹配最多N次

    5)贪婪与非贪婪:匹配次数不确定时有贪婪和非贪婪两种状态

    ​ a. 默认是贪婪:在匹配成功的前提下,尽可能多的匹配

    ​ b. 非贪婪:在贪婪符号后添加’?‘,在匹配成功的前提下,尽可能少的匹配

    6)分支和分组:

    ​ a. 分支|:正则1|正则2,|相当于或的意思,先让正则1匹配,只有一个匹配成功就成功

    ​ b. 分组():把()当成一个整体,例如:(正则表达式)匹配次数-- 整体控制次数

    ​ c. 重复:()字符\n,表示重复n次()内的内容

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容

  • 内存管理 1.内存管理基础() 内存分为栈区间和堆区间,栈区间的内存是系统自动申请自动释放堆上的内存需要程序通过调...
    KIKIu阅读 193评论 0 0
  • 前言回顾 1.运算符重载 通过在类中实现运算符对应的魔法方法,来让类的对象支持相关运算符的操作 2.内存管理(面试...
    不语sun阅读 357评论 0 0
  • 正则表达式到底是什么东西?字符是计算机软件处理文字时最基本的单位,可能是字母,数字,标点符号,空格,换行符,汉字等...
    狮子挽歌阅读 2,136评论 0 9
  • 请原谅我的无聊,在新年的第一天就和你聊工作。那些“创业者”的世界里本就没有假期这件事。这里的创业者借用下昨天罗振宇...
    蔷薇石Elsa阅读 386评论 0 2
  • 面向对象的六大原则 1 单一职责原则 单一原则很简单,就是将一组相关性很高的函数、数据封装到一个类中。换句话说,一...
    weizhidb阅读 215评论 0 0