題目描述如題,我是一個(gè)初學(xué)者,剛剛學(xué)到正則表達(dá)式,想要了解一下點(diǎn)號(hào)的具體用法,就隨便編了一段簡(jiǎn)單的代碼。然后發(fā)現(xiàn)匹配的表達(dá)式分別是.,(.)和[.]*是匹配的結(jié)果大不相同。我想問(wèn)一下這三者具體的區(qū)別,以及為什么會(huì)有這樣的結(jié)果。相關(guān)代碼// 請(qǐng)把代碼文本粘貼到下方(請(qǐng)勿用圖片代替代碼)import res= 'nhellonmy name isnBob' r = re.findall('.*',s) print(r)r = re.findall('(.)*',s)r = re.findall('[.]*',s)代碼結(jié)果上面的代碼,在匹配式是.*的時(shí)候結(jié)果是這樣的這個(gè)我還差不多能理解然后在(.)*的時(shí)候結(jié)果是這樣的在[.]*的時(shí)候結(jié)果是這樣的后兩個(gè)我就不是很理解了,望大家?guī)兔獯鹨幌?,謝謝。 另外我看點(diǎn)號(hào)在正則表達(dá)式里面的意義是匹配除了換行符之外的字符,那么在上面的代碼中,匹配完最后一個(gè)字符 'b'之后為什么還會(huì)匹配出來(lái)一個(gè)空字符''呢?
2 回答

萬(wàn)千封印
TA貢獻(xiàn)1891條經(jīng)驗(yàn) 獲得超3個(gè)贊
*
匹配任意非換行字符
匹配結(jié)果可以0條 不關(guān)心匹配結(jié)果
(.)*
和上面一樣 只不過(guò)這個(gè)關(guān)心匹配結(jié)果并保存到組
[.]*
和第一個(gè)一樣
添加回答
舉報(bào)
0/150
提交
取消