Python正規表示式匹配0 100的數字

2021-10-08 22:55:30 字數 1225 閱讀 5716

所以先寫乙個這樣的規則:

import re

res=re.match(r'[1-9]\d?$|0$|100$'

,'100'

)print

(res.group(

))

我們這樣分析:

首先拋去0,我們出現的第一位可能是1-9的任意數字所以匹配規則[1-9],1-9出現的次數呢?我們想一想,當出現兩位數的時候,第一位的1-9是不是就只能出現一次(此時沒考慮0),所以接下來考慮第二位:

第二位的話可能是11、12、34、60這類的數字,隨意包含0,所以匹配的規則是\d,因為輸入的數字是一位時,第二位就不出現,所以出現次數為0次或者一次,所以為?符號,接著匹配出兩個特殊情況,0和100 用|來加進來,所以執行:

因為match方法返回匹配物件(match object),所以就是通過group的方法來獲取匹配的內容。

將上面的匹配規則進行優化,將0考慮進去,也就是意味著第乙個可能會出現0,所以將規則優化成:

import re

res4=re.match(r'[1-9]?\d?$|100$'

,'0'

)print

(res4)

因為第乙個可能出現0,所以將[1-9]加上?,出現0次或者一次,所以當0出現時,[1-9]就是出現0次,所以直接從後面的\d?開始匹

Python 正規表示式匹配

請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ab a 均不匹配 coding utf 8 ...

正規表示式匹配 python

coding utf 8 題目 請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元 不包括空字元!而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ...

python正規表示式01

正規表示式,又稱規則表示式,英文名為regular expression,在 中常簡寫為regex regexp或re,是電腦科學的乙個概念。正則表通常被用來檢索 替換那些符合某個模式 規則 的文字。python 中正規表示式使用re模組。match 函式試圖從字串的起始部分對模式進行匹配。如果匹配...