偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Python正則表達式如何刪除代碼行

開發(fā) 后端
Python正則表達式在使用的時候有很多小技巧,下面我們就向大家介紹在Python正則表達式中如何刪除代碼行的相關知識。

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

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

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

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

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

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

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

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

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

【編輯推薦】

  1. Python腳本如何保證游戲正常開發(fā)
  2. 調用Python腳本基本應用方式簡述
  3. Python腳本程序與Per進行比較
  4. 使用Python腳本語言進行程序編輯
  5. 關于Python腳本語言進行學習介紹
責任編輯:張浩 來源: IT168
相關推薦

2021-01-27 11:34:19

Python正則表達式字符串

2024-09-14 09:18:14

Python正則表達式

2021-05-25 09:18:04

正則表達式Linux字符串

2020-09-04 09:16:04

Python正則表達式虛擬機

2010-03-25 18:25:36

Python正則表達式

2018-09-27 15:25:08

正則表達式前端

2010-03-15 16:21:28

Python正則表達式

2024-12-25 15:09:38

Python字符串函數(shù)

2010-03-11 08:55:45

python正則表達式

2019-12-10 10:40:57

Python正則表達式編程語言

2010-03-01 15:51:59

Python則表達式

2016-11-10 16:21:22

Java 正則表達式

2009-09-16 17:15:57

正則表達式引擎

2022-01-04 11:35:03

Linux Shel正則表達式Linux

2023-09-13 08:12:45

2022-03-28 06:19:14

正則表達式開發(fā)

2009-02-18 09:48:20

正則表達式Java教程

2019-07-17 15:45:47

正則表達式字符串前端

2009-09-16 18:19:34

正則表達式組

2011-06-02 12:34:16

正則表達式
點贊
收藏

51CTO技術棧公眾號