python的正則(一):簡單夠用的basic版
例如,下面的代碼,把所有的input替換成output:
1import re
2s = 'input wire a;input wire b;'
3result = re.sub(r'input', r'output', s, 0, re.S)
4print(result) # 'output wire a;output wire b;'
re.findall
因?yàn)閜ython中的search()函數(shù)不如perl的=~ m/.../靈活,所以re中還提供了其它函數(shù)來增強(qiáng)功能,findall()便是其中一個(gè)。
顧名思義,findall就是查找所有的匹配,函數(shù)返回一個(gè)list。語法如下:
1import re
2result = re.findall(r'pattern', 'string', option)
例如,查找所有的輸入端口:
1import re
2s = 'input wire a;input wire b;'
3result = re.findall(r'input.*?;', s, re.S)
4print(result) #['input wire a;', 'input wire b;']
我們可以看到,findall()返回了所有輸入端口的列表。而search()呢?只返回第一個(gè)匹配結(jié)果。
re.其它函數(shù)
用dir(re)看看re模塊包定義了哪些函數(shù),如下:
1import re
2dir(re)
3# [..., 'compile', 'copyreg', 'enum', 'error', 'escape',
4 'findall', 'finditer', 'fullmatch', 'functools', 'match',
5 'purge', 'search', 'split', 'sre_compile', 'sre_parse',
6 'sub', 'subn', 'template']
大家可以用help(re.xxx)來查看幫助。
總結(jié)
到此,python正則的基本用法就介紹完畢了。只要我們在實(shí)際項(xiàng)目中靈活運(yùn)用這些基本規(guī)則就可以了。
習(xí)題:
1. 利用上面介紹的正則基本規(guī)則,提取verilog module的端口。
要求:考慮verilog 2001 C風(fēng)格和和verilog95的傳統(tǒng)風(fēng)格。
2. 把verilog代碼中的高電平復(fù)位信號rst替換成低電平復(fù)位信號rst_n。
提示:除了復(fù)位名稱需要替換外,always中的復(fù)位posedge也需要同時(shí)替換成negedge;if(rst)需要替換成 if(!rst_n)。
3. 在第一題的基礎(chǔ)上,實(shí)現(xiàn)模塊實(shí)例化。
簡化一點(diǎn),外部連線的名字和端口名相同。

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個(gè)字
最新活動更多
-
3月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會
-
4月30日立即下載>> 【村田汽車】汽車E/E架構(gòu)革新中,新智能座艙挑戰(zhàn)的解決方案
-
5月15-17日立即預(yù)約>> 【線下巡回】2025年STM32峰會
-
即日-5.15立即報(bào)名>>> 【在線會議】安森美Hyperlux™ ID系列引領(lǐng)iToF技術(shù)革新
-
5月15日立即下載>> 【白皮書】精確和高效地表征3000V/20A功率器件應(yīng)用指南
-
5月16日立即參評 >> 【評選啟動】維科杯·OFweek 2025(第十屆)人工智能行業(yè)年度評選
推薦專題
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達(dá)AI統(tǒng)治的開始
- 2 北電數(shù)智主辦酒仙橋論壇,探索AI產(chǎn)業(yè)發(fā)展新路徑
- 3 “AI寒武紀(jì)”爆發(fā)至今,五類新物種登上歷史舞臺
- 4 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 5 國產(chǎn)智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計(jì)算迎來商業(yè)化突破,但落地仍需時(shí)間
- 7 東陽光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開成長空間
- 8 封殺AI“照騙”,“淘寶們”終于不忍了?
- 9 優(yōu)必選:營收大增主靠小件,虧損繼續(xù)又逢關(guān)稅,能否乘機(jī)器人東風(fēng)翻身?
- 10 地平線自動駕駛方案解讀