python的正则(一):简单够用的basic版

ExASIC

    不管是哪种编程语言,学习正则是一节必修课,python也是如此。正则通常被用来做什么?处理复杂的字符串及文本。比如,提取RTL的begin end之间的内容,提取verilog的模块端口完成自动例化,处理APR的io file等。用好正则,常常可以事半功倍。
    为了更轻松愉快地学习正则,我们分成三次讲解:
    一、特殊字符和基本用法
    二、复杂规则
    三、一些实例
    本文是第一次讲解,介绍正则的特殊字符和基本用法。
    温故而知新
    回顾一:
    在《python的数据类型(三):字符串》中已经介绍过一些字符串的处理函数,先来一起回顾一下,见下图,不记得的同学可以点击链接看看。
    
    回顾二:
    与Perl语言的正则对比着学习,可以加深理解和记忆。下面是两篇Perl正则的介绍:
    Perl在ASIC中的应用——高级篇(1):Perl的正则表达式
    Perl在ASIC中的应用——实战篇(3):网表处理
    基本语法介绍
    在正则的概念里,有一个术语叫“匹配”,匹配就是利用一些特殊字符如 . * + 等来描述一个字符串。比如有字符串'abbbc',我们可以用'ab+c'来描述。又如verilog的begin end块可以用'begin.*end'来描述。我们可以看到,匹配不仅仅描述某一个字符串,而是描述某一类字符串。
    与Perl不同,Perl的正则是语言结构的一部分,而Python的正则是定义在模块包re里,使用时需要先import re。
    下面,我们先来看看python正则的基本用法,为了简单、容易入门,这次主要介绍与Perl正则语法类似的部分。
    特殊字符
    . 除外的任意字符
    ^ 字符串的开头
    $ 字符串的结尾
     字符串边界
    B 非边界
    d 数字0到9
    D 非数字
    s 空白字符
    S 非空白字符
    w 字母a-z,A-Z,和下划线_
    W 大小写字母和下划线 以外的其它字符
    A 字符串开头
    Z 字符串结尾
    特殊字符前加转义表示字符本身
    空白字符
    换行符newline 0x0a
     制表符tab
    回车符0x13
     换页符
     垂直制表符
    
    
    1  2  3  下一页>