單個字符的匹配規則(正則表達式和re模塊)


什么是正則表達式:

個人對其的理解:按照一定規則,從某個字符串中匹配出想要的數據。

標准的解釋:正則表達式,又稱規則表達式。(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。正則表達式通常被用來檢索、替換那些符合某個模式(規則)的文本。               -------百度百科

正則表達式常用的匹配規則:

匹配某個字符串:

text = "hello"
retext = re.match("he",text)
print(retext.group())

可以在 text 匹配出 he。

1.只可以順着匹配,即若開頭不是 he,會報錯。

2. .group()將匹配到的類型轉換成可以讀文本。


點(.)匹配任意的字符:

text = "+hello"
ret = re.match(".",text)
print(ret.group())

匹配出 + 。

 

\d:匹配任意的數字字符(0-9)

text = "0+35"
ret = re.match('\d',text)
print(ret.group())

 

\D:匹配任意的非數字字符

text = "+"
ret = re.match('\D',text)
print(ret.group())

 

\s:匹配空白字符(\t,\r,\n)

text = " \nab "
ret = re.match('\s',text)
print(ret.group())

 

\w:匹配a-z,A-Z,數字以及下划線

text = 'a'
ret = re.match('\w',text)
print(ret.group())

 

\W:匹配到時與\w互補的

text = '++a'
ret = re.match('\W',text)
print(ret.group())

 

[ ]組合的方式:只要滿足中括號中的字符,就可以匹配

text = '0731-8888888'
ret = re.match('[\d\-]',text)
print(ret.group())
其中 [\d\-] 表示匹配 \d (數字0-9)或者 匹配 -。第二個 \ 表示轉義。

  可以用[]表示以上的匹配:
1).用中括號代替\d:
text = '+09asd+-sad/+'
ret = re.match('[0-9]',text)
print(ret.group())
2).用中括號代替\D:
text = '+09asd+-sad/+'
ret = re.match('[^0-9]',text)
print(ret.group())
3).用中括號代替\w:
text = 'A+09asd+-sad/+'
ret = re.match('[a-zA-Z0-9_]',text)
print(ret.group())
4).用中括號代替\W:
text = '+09asd+-sad/+'
ret = re.match('[^a-zA-Z0-9_]',text)
print(ret.group())
其中 ^ 表示取非符號。


免責聲明!

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



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