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

资讯 4年前
1.49K

不管是哪种编程语言,学习正则是一节必修课,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

换页符

垂直制表符

© 版权声明

相关文章