正則表達匹配-(字符匹配表)


一。關鍵在於將信息寫成一個正則表達式。我們先看正則表達式的常用語法:

1)單個字符:

.           匹配除換行之外的任意的一個字符

a|b        字符a或字符b

[afg]      a或者f或者g的一個字符        

[0-4]      0-4范圍內的一個字符

[a-f]      a-f范圍內的一個字符

[^m]       不是m的一個字符

\s         一個空格

\S         一個非空格

\d         [0-9]

\D         [^0-9]

\w         [0-9a-zA-Z]

\W         [^0-9a-zA-Z]

 

2)重復

緊跟在單個字符之后,表示多個這樣類似的字符

*         重復 >=0 次

+         重復 >=1 次

?         重復 0或者1 次

{m}       重復m次。比如說 a{4}相當於aaaa,再比如說[1-3]{2}相當於[1-3][1-3]

{m, n}    重復m到n次。比如說a{2, 5}表示a重復2到5次。小於m次的重復,或者大於n次的重復都不符合條件。

 

正則表達          相符的字符串舉例

[0-9]{3,5}       9678                 匹配0-9的數字3個到5個之內

a?b              b 或 ab   

a+b              aaaaab

 

3) 位置

^         字符串的起始位置,表示匹配必須放生在被查找文本開始處。

  例如: ^spam 意味着字符串必須以spam開始

$         字符串的結尾位置,表示該字符串必須以這個正則表達式的模式結束。

   例如:spam$ 意味着字符串必須以spam結尾

正則表達          相符的字符串舉例        不相符字符串

^ab.*c$          abeec               cabeec (如果用re.search(), 將無法找到。)

注意:在方括號內,普通的正則表達式符號不會被解釋,就是說,不需要在前面加上倒斜杠轉義?,(),*等字符

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM