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 下一页>