訂閱
糾錯(cuò)
加入自媒體

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

2020-07-14 17:05
ExASIC
關(guān)注

不管是哪種編程語(yǔ)言,學(xué)習(xí)正則是一節(jié)必修課,python也是如此。正則通常被用來(lái)做什么?處理復(fù)雜的字符串及文本。比如,提取RTL的begin end之間的內(nèi)容,提取verilog的模塊端口完成自動(dòng)例化,處理APR的io file等。用好正則,常常可以事半功倍。

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

一、特殊字符和基本用法

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

三、一些實(shí)例

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

溫故而知新

回顧一:

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

回顧二:

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

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

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

基本語(yǔ)法介紹

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

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

下面,我們先來(lái)看看python正則的基本用法,為了簡(jiǎn)單、容易入門(mén),這次主要介紹與Perl正則語(yǔ)法類(lèi)似的部分。

特殊字符

. 除外的任意字符

^ 字符串的開(kāi)頭

$ 字符串的結(jié)尾

 字符串邊界

B 非邊界

d 數(shù)字0到9

D 非數(shù)字

s 空白字符

S 非空白字符

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

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

A 字符串開(kāi)頭

Z 字符串結(jié)尾

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

空白字符

換行符newline 0x0a

制表符tab

回車(chē)符0x13

換頁(yè)符

垂直制表符

1  2  3  下一頁(yè)>  
聲明: 本文由入駐維科號(hào)的作者撰寫(xiě),觀點(diǎn)僅代表作者本人,不代表OFweek立場(chǎng)。如有侵權(quán)或其他問(wèn)題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號(hào)
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯(cuò)
x
*文字標(biāo)題:
*糾錯(cuò)內(nèi)容:
聯(lián)系郵箱:
*驗(yàn) 證 碼:

粵公網(wǎng)安備 44030502002758號(hào)