文章詳情頁
python是怎么實現過濾 #注釋代碼的?
瀏覽:114日期:2022-08-15 11:47:21
問題描述
今天看python核心編程看到一個問題,題意大概就是過濾一個file-like對象里“#”的注釋部分,然后輸出其他部分。簡單情形下,另寫一行的#注釋比較好判斷,用startwith(’#’)匹配應該能滿足。問題在于那些寫在正常業務代碼之后的注釋,該如何過濾之?舉個例子:
if name.find(',') == -1:#Annotations pass
請問有沒有人了解它是怎么過濾這種注釋的?謝謝。
問題解答
回答1:講下思路如果不考慮字符串中的#,那么很方便,用re匹配
#[^n]*?n
即可如果考慮到字符串中的#稍微復雜些,匹配:
#[^’']*?n
勉強能應付大多數情況
缺點是對于
’a’ # ’b’
這樣的語句匹配不了,因為Python的re不支持平衡組。
回答2:直接用正則匹配#到行尾不就得了。
相關文章:
1. nignx - docker內nginx 80端口被占用2. javascript - iframe 為什么加載網頁的時候滾動條這樣顯示?3. docker網絡端口映射,沒有方便點的操作方法么?4. docker api 開發的端口怎么獲取?5. debian - docker依賴的aufs-tools源碼哪里可以找到啊?6. docker容器呢SSH為什么連不通呢?7. dockerfile - 我用docker build的時候出現下邊問題 麻煩幫我看一下8. macos - mac下docker如何設置代理9. 關docker hub上有些鏡像的tag被標記““This image has vulnerabilities””10. javascript - 移動端,當出現遮罩層的時候,遮罩層里有div是超出高度scroll的,怎么避免滑動div的時候,body跟隨滑動?
排行榜
