日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Python正則表達(dá)式如何刪除代碼行

Python正則表達(dá)式在Python語言中有很廣泛的應(yīng)用范圍,我們不能更好的使用時因為沒有了解到他的真諦。其實我們只有更好的學(xué)習(xí)才能不斷的完善在今后的使用。

成都創(chuàng)新互聯(lián)公司致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營銷,提供成都網(wǎng)站設(shè)計、做網(wǎng)站、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營銷、小程序制作、公眾號商城、等建站開發(fā),成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢。

Python正則表達(dá)式(Regular Expression,簡稱Regex),是指一個用來描述或者匹配一系列符合某個句法規(guī)則的字符串的單個字符串。正則表達(dá)式是一種處理文本的強大工具,刪除代碼行號對于它來講是小菜一疊。代碼如下:

 
 
 
  1. import re #導(dǎo)入Python的正則表達(dá)式模塊  
  2. def CutLineNum (inStr):  
  3. multiStr = inStr.splitlines(1) outStr = u'' 
  4. p = re.compile(r'\D*\d+\s?[.|:|\]|\)]?\s?') #編譯正則表達(dá)式   
  5. for singleLine in multiLine: outStr += p.sub( '', singleLine,
    count = 1 ) #用空字符替換每行的***個匹配上述正則表達(dá)式的字符串   
  6. eturn outStr #返回累加后的字符串 

以上代碼中的咖色部分就是一個Regex,它的含義是:0或多個非數(shù)字字符 + 至少1個數(shù)字字符 + 0或1個空白字符 + 0或1個分隔符(包括點、冒號、右圓/方括號,可添加其他分隔符) + 0或1個空白字符。

以上Regex符合大多數(shù)代碼前行號的規(guī)則,刪除行號就是用空字符替換掉每行代碼中***個匹配該Regex的字符串(注意只能是***個,因為程序里可能會存在abc1.open等情況,如果全部匹配就會誤刪代碼)。

繼續(xù)優(yōu)化——采用函數(shù)編程

看起來還不夠簡潔,沒關(guān)系,Python正則表達(dá)式是一種“準(zhǔn)”函數(shù)編程(Functional Programming,F(xiàn)P)語言,做這種簡化代碼的事情最拿手。在這里,我用到了兩種函數(shù)編程手段——匿名函數(shù)(lambda)和一種高階函數(shù)(map),將代碼簡化至一行,如下:
 

 
 
 
  1. import re #導(dǎo)入Python的正則表達(dá)式模塊  
  2. outStr = ''.join(map(lambda x:re.compile(r'\D*\d+\s?[.
    |:|\]|\)]?\s?').sub( '', x,count = 1 ),inStr.splitlines(1)))) 

以上就是對Python正則表達(dá)式的詳細(xì)介紹。這樣代碼就只優(yōu)化到了一行了,是不是很簡潔呢?當(dāng)然代碼的可讀性受到一定影響。所以函數(shù)編程不能濫用。(濫用的例子可以見我的文章《學(xué)習(xí)Python列表內(nèi)涵:一行代碼搞定雙倍超立方數(shù)計算》)。函數(shù)編程是個稍微復(fù)雜點的問題,我覺得掌握與否均可,所以就不很詳細(xì)地去解釋上述代碼了。


新聞標(biāo)題:Python正則表達(dá)式如何刪除代碼行
分享地址:http://www.5511xx.com/article/djpphdi.html