python的正則(一):簡單夠用的basic版
不管是哪種編程語言,學習正則是一節(jié)必修課,python也是如此。正則通常被用來做什么?處理復(fù)雜的字符串及文本。比如,提取RTL的begin end之間的內(nèi)容,提取verilog的模塊端口完成自動例化,處理APR的io file等。用好正則,常?梢允掳牍Ρ。
為了更輕松愉快地學習正則,我們分成三次講解:
一、特殊字符和基本用法
二、復(fù)雜規(guī)則
三、一些實例
本文是第一次講解,介紹正則的特殊字符和基本用法。
溫故而知新
回顧一:
在《python的數(shù)據(jù)類型(三):字符串》中已經(jīng)介紹過一些字符串的處理函數(shù),先來一起回顧一下,見下圖,不記得的同學可以點擊鏈接看看。
回顧二:
與Perl語言的正則對比著學習,可以加深理解和記憶。下面是兩篇Perl正則的介紹:
Perl在ASIC中的應(yīng)用——高級篇(1):Perl的正則表達式
Perl在ASIC中的應(yīng)用——實戰(zhàn)篇(3):網(wǎng)表處理
基本語法介紹
在正則的概念里,有一個術(shù)語叫“匹配”,匹配就是利用一些特殊字符如 . * + 等來描述一個字符串。比如有字符串'abbbc',我們可以用'ab+c'來描述。又如verilog的begin end塊可以用'begin.*end'來描述。我們可以看到,匹配不僅僅描述某一個字符串,而是描述某一類字符串。
與Perl不同,Perl的正則是語言結(jié)構(gòu)的一部分,而Python的正則是定義在模塊包re里,使用時需要先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
換頁符
垂直制表符

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
推薦專題
-
8 每日AI全球觀察
- 1 特斯拉工人被故障機器人打成重傷,索賠3.6億
- 2 【行業(yè)深度研究】退居幕后四年后,張一鳴終于把算法公司變成AI公司?
- 3 AI 時代,阿里云想當“安卓” ,那誰是“蘋果”?
- 4 拐點已至!匯川領(lǐng)跑工控、埃斯頓份額第一、新時達海爾賦能扭虧為盈
- 5 硬剛英偉達!華為發(fā)布全球最強算力超節(jié)點和集群
- 6 隱退4年后,張一鳴久違現(xiàn)身!互聯(lián)網(wǎng)大佬正集體殺回
- 7 L3自動駕駛延期,逼出車企技術(shù)自我淘汰
- 8 谷歌“香蕉”爆火啟示:國產(chǎn)垂類AI的危機還是轉(zhuǎn)機?
- 9 00后華裔女生靠兩部AI電影狂賺7.8億人民幣,AI正式進軍好萊塢
- 10 機器人9月大事件|3家國產(chǎn)機器人沖刺IPO,行業(yè)交付與融資再創(chuàng)新高!