請問為什么print(re.search('abc*', 'abcdefg')) 和print(re.search('abc.*g', 'abcdefg')) 可以匹配
而print(re.search('abc*g', 'abcdefg')) 這個卻不匹配
uj5u.com熱心網友回復:
'abc*g'是指abc后面c的任意多個吧,c可以是0到任意個,第一個'abc*實際是匹配了abc,而不是abcdefg
uj5u.com熱心網友回復:
print(re.search('abc*', 'abcdefg')) 和print(re.search('abc.*g', 'abcdefg')) 匹配print(re.search('abc*g', 'abcdefg')) 不匹配
===========
這是屬于正則運算式的基本規則啊!
*號代表任意個(可以是0個,1個或多個)
.號代表任意字符!
'abc*g' 代表的可以是:abg, abcg, abccg, abc....cg
所以和'abcdefg'不匹配是再正常不過的了!
uj5u.com熱心網友回復:
re.search('abc.*g', 'abcdefg')這個匹配的原因是“ . ”代表了所有字符,匹配的是從D到F,其實不加G也能匹配得到,還是*的用法的問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/63794.html
上一篇:python編程分數等級
