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
因為python中的search()函數(shù)不如perl的=~ m/.../靈活,所以re中還提供了其它函數(shù)來增強功能,findall()便是其中一個。
顧名思義,findall就是查找所有的匹配,函數(shù)返回一個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()呢?只返回第一個匹配結果。
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)來查看幫助。
總結
到此,python正則的基本用法就介紹完畢了。只要我們在實際項目中靈活運用這些基本規(guī)則就可以了。
習題:
1. 利用上面介紹的正則基本規(guī)則,提取verilog module的端口。
要求:考慮verilog 2001 C風格和和verilog95的傳統(tǒng)風格。
2. 把verilog代碼中的高電平復位信號rst替換成低電平復位信號rst_n。
提示:除了復位名稱需要替換外,always中的復位posedge也需要同時替換成negedge;if(rst)需要替換成 if(!rst_n)。
3. 在第一題的基礎上,實現(xiàn)模塊實例化。
簡化一點,外部連線的名字和端口名相同。

請輸入評論內容...
請輸入評論/評論長度6~500個字
最新活動更多
-
10月23日火熱報名中>> 2025是德科技創(chuàng)新技術峰會
-
10月23日立即報名>> Works With 開發(fā)者大會深圳站
-
11月7日立即參評>> 【評選】維科杯·OFweek 2025(第十屆)物聯(lián)網行業(yè)年度評選
-
即日-11.25立即下載>>> 費斯托白皮書《柔性:汽車生產未來的關鍵》
-
11月27日立即報名>> 【工程師系列】汽車電子技術在線大會
-
11月28日立即下載>> 【白皮書】精準洞察 無線掌控——283FC智能自檢萬用表
-
8 每日AI全球觀察
- 1 特斯拉工人被故障機器人打成重傷,索賠3.6億
- 2 【行業(yè)深度研究】退居幕后四年后,張一鳴終于把算法公司變成AI公司?
- 3 AI 時代,阿里云想當“安卓” ,那誰是“蘋果”?
- 4 拐點已至!匯川領跑工控、埃斯頓份額第一、新時達海爾賦能扭虧為盈
- 5 硬剛英偉達!華為發(fā)布全球最強算力超節(jié)點和集群
- 6 L3自動駕駛延期,逼出車企技術自我淘汰
- 7 隱退4年后,張一鳴久違現(xiàn)身!互聯(lián)網大佬正集體殺回
- 8 谷歌“香蕉”爆火啟示:國產垂類AI的危機還是轉機?
- 9 00后華裔女生靠兩部AI電影狂賺7.8億人民幣,AI正式進軍好萊塢
- 10 機器人9月大事件|3家國產機器人沖刺IPO,行業(yè)交付與融資再創(chuàng)新高!
- 高級軟件工程師 廣東省/深圳市
- 自動化高級工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級銷售經理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結構工程師 廣東省/深圳市