python的正則(一):簡單夠用的basic版

不管是哪種編程語言,學(xué)習(xí)正則是一節(jié)必修課,python也是如此。正則通常被用來做什么?處理復(fù)雜的字符串及文本。比如,提取RTL的begin end之間的內(nèi)容,提取verilog的模塊端口完成自動例化,處理APR的io file等。用好正則,常??梢允掳牍Ρ丁?/p>

為了更輕松愉快地學(xué)習(xí)正則,我們分成三次講解:

一、特殊字符和基本用法

二、復(fù)雜規(guī)則

三、一些實(shí)例

本文是第一次講解,介紹正則的特殊字符和基本用法。

溫故而知新

回顧一:

在《python的數(shù)據(jù)類型(三):字符串》中已經(jīng)介紹過一些字符串的處理函數(shù),先來一起回顧一下,見下圖,不記得的同學(xué)可以點(diǎn)擊鏈接看看。

回顧二:

與Perl語言的正則對比著學(xué)習(xí),可以加深理解和記憶。下面是兩篇Perl正則的介紹:

Perl在ASIC中的應(yīng)用——高級篇(1):Perl的正則表達(dá)式

Perl在ASIC中的應(yīng)用——實(shí)戰(zhàn)篇(3):網(wǎng)表處理

基本語法介紹

在正則的概念里,有一個(gè)術(shù)語叫“匹配”,匹配就是利用一些特殊字符如 . * + 等來描述一個(gè)字符串。比如有字符串'abbbc',我們可以用'ab+c'來描述。又如verilog的begin end塊可以用'begin.*end'來描述。我們可以看到,匹配不僅僅描述某一個(gè)字符串,而是描述某一類字符串。

與Perl不同,Perl的正則是語言結(jié)構(gòu)的一部分,而Python的正則是定義在模塊包re里,使用時(shí)需要先import re。

下面,我們先來看看python正則的基本用法,為了簡單、容易入門,這次主要介紹與Perl正則語法類似的部分。

特殊字符

. 除外的任意字符

^ 字符串的開頭

$ 字符串的結(jié)尾

 字符串邊界

B 非邊界

d 數(shù)字0到9

D 非數(shù)字

s 空白字符

S 非空白字符

w 字母a-z,A-Z,和下劃線_

W 大小寫字母和下劃線 以外的其它字符

A 字符串開頭

Z 字符串結(jié)尾

特殊字符前加轉(zhuǎn)義表示字符本身

空白字符

換行符newline 0x0a

制表符tab

回車符0x13

換頁符

垂直制表符

123下一頁>

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實(shí),并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )

贊助商
2020-07-14
python的正則(一):簡單夠用的basic版
不管是哪種編程語言,學(xué)習(xí)正則是一節(jié)必修課,python也是如此。正則通常被用來做什么?處理復(fù)雜的字符串及文本。

長按掃碼 閱讀全文