正則表達式

正則表達式:正則表達式

  正則表達式(Regular Expression,常簡寫爲regex或者RE),又稱規則表達式,它不是某個編程語言所特有的,是計算機科學的一個概念,一般被用來檢索和替換符合某些規則的文本。目前,正則表達式已經在各類計算機語言(如Java、 C#和Python等)中獲得了普遍的應用和發展。
      在Python中,能夠使用正則表達式進行與字符串相關的一些匹配,正則表達式是一種用來匹配字符串的強有力武器,它只和字符串打交道,設計思想是用一種描述行的語言來給字符串定義一個規則,凡是符合規則的字符串就認爲它「匹配」,不然就不匹配。即從大段的文字中找到符合規則的內容!!!編程

字符組:編程語言

[  ] 寫在中括號中的內容,都出如今下面的某一個字符的位置上都是符合規則的spa

[0-9]  匹配數字0-9設計

[a-z]    匹配a到z的小寫字母blog

[A-Z]  匹配A到Z的大寫字母ci

[a-zA-Z0-9] 匹配大小寫字母+數字
[a-zA-Z0-9_] 匹配數字字母下滑線字符串

元字符:io

量詞:table

 

{n}表示 這個量詞以前的字符出現n次
{n,} 表示這個量詞以前的字符至少出現n次
{n,m} 表示這個量詞以前的字符出現n-m次
? 表示匹配量詞以前的字符出現 0次 或者 1次 表示無關緊要
+ 表示匹配量詞以前的字符出現 1次 或者 屢次
* 表示匹配量詞以前的字符出現 0次 或者 屢次

. ^ $

正則表達

待匹配的字符

匹配到的結果

說明

結.

結果結束結緣

結果結束結緣

匹配全部」海.」的字符

^結.

結果結束結緣

結果

只從開頭匹配」海.」匹配到了一個就會停

結.$

結果結束結緣

結緣

只匹配結尾的」海.」,同上面的相反

* + ? { }

正則表達

待匹配的字符

匹配到的結果

說明

結.?

結果和結束和結緣

結果

結束

結緣

?表示重複零次或一次,即只匹配"結"後面一個任意字符

結.*

結果和結束和結緣

結果和結束和結緣

*表示重複零次或屢次,即匹配"結"後面0或多個任意字符

結.+

結果和結束和結緣

結果和結束和結緣

+表示重複一次或屢次,即只匹配"結"後面1個或多個任意字符

結.{1,2}

結果和結束和結緣

結果和

結束和

結緣

{1,2}匹配1到2次任意字符

注意:前面的*,+,?等都是貪婪匹配,也就是儘量匹配,後面加?號使其變成惰性匹配

正則

待匹配字符

匹配結果

說明

結.*?

結果和結束和結緣

惰性匹配

 

 

 

 

正則表達式的匹配特色 :

貪婪匹配,它會在容許的範圍內取最長的結果
非貪婪模式/惰性匹配 : 在量詞的後面加上?
 .*?x 匹配任意非換行符字符任意長度 直到遇到x就中止

2019年11月18日

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息