[問題] python 的一則判斷式和 PCRE 不同,求解

作者: ggirls (哥)   2013-05-17 21:38:10
我的問題似乎是(...){min, max}的括號問題:
在PCRE時是ok的,在括號中的內容反覆0或多次
'<img src=[^>]*?jpg"><BR>(<font color=red>.*?</font><BR>){0,}'
在python 3.3中的re
上面的式子是可以找到的,但傳回值只有括號內的內容,前面的<img src....><BR>
卻不見了
p=re.compile('<img src=[^>]*?jpg"><BR>(<font color=red>.*?</font><BR>){0,}')
hlist=p.findall(test_string)
作者: s25g5d4 (function(){})()   2013-05-17 21:54:00
將(pattern)改成(?:pattern) 另外{0,}可以用*代替
作者: ggirls (哥)   2013-05-17 22:00:00
用(?:patern)就可以了。但實際上他找到的數量是一樣的。原來解法找到的數目是相同的,有點好奇python的理解為何忘了說謝謝,省了我很多時間,晚安

Links booklink

Contact Us: admin [ a t ] ucptt.com