文章詳情頁
python是怎么實(shí)現(xiàn)過濾 #注釋代碼的?
瀏覽:216日期:2022-08-15 11:47:21
問題描述
今天看python核心編程看到一個(gè)問題,題意大概就是過濾一個(gè)file-like對(duì)象里“#”的注釋部分,然后輸出其他部分。簡(jiǎn)單情形下,另寫一行的#注釋比較好判斷,用startwith(’#’)匹配應(yīng)該能滿足。問題在于那些寫在正常業(yè)務(wù)代碼之后的注釋,該如何過濾之?舉個(gè)例子:
if name.find(',') == -1:#Annotations pass
請(qǐng)問有沒有人了解它是怎么過濾這種注釋的?謝謝。
問題解答
回答1:講下思路如果不考慮字符串中的#,那么很方便,用re匹配
#[^n]*?n
即可如果考慮到字符串中的#稍微復(fù)雜些,匹配:
#[^’']*?n
勉強(qiáng)能應(yīng)付大多數(shù)情況
缺點(diǎn)是對(duì)于
’a’ # ’b’
這樣的語句匹配不了,因?yàn)镻ython的re不支持平衡組。
回答2:直接用正則匹配#到行尾不就得了。
相關(guān)文章:
1. node.js - mongodb查找子對(duì)象的名稱為某個(gè)值的對(duì)象的方法2. docker 17.03 怎么配置 registry mirror ?3. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個(gè)是怎么回事????4. 前端 - @media query 使用出現(xiàn)的問題?5. html5 - datatables 加載不出來數(shù)據(jù)。6. 運(yùn)行python程序時(shí)出現(xiàn)“應(yīng)用程序發(fā)生異常”的內(nèi)存錯(cuò)誤?7. 測(cè)試自動(dòng)化html元素選擇器元素ID或DataAttribute [關(guān)閉]8. javascript - QQ第三方登錄的問題9. 利用IPMI遠(yuǎn)程安裝centos報(bào)錯(cuò)!10. spring-mvc - spring-session-redis HttpSessionListener失效
排行榜

熱門標(biāo)簽
網(wǎng)公網(wǎng)安備