所以先寫乙個這樣的規則:
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 函式試圖從字串的起始部分對模式進行匹配。如果匹配...