2014-10-27 72 views
0

我想找到一個簡單的正則表達式匹配。我在RegexPal中試過我的正則表達式,看起來工作正常。python中的這個正則表達式有什麼問題?

pat = re.compile("\sterm=\"([\w\s]+)\"") 
line = "<aspectTerm term=\"battery life\" polarity=\"positive\" from=\"74\" to=\"86\"/> 
mat = pat1.match(line) 
print mat ### Prints None 

行實際上是從文件中讀取的。

我試着看看這裏是否有問題。所以我正在嘗試這個現在: -

re.match("term", "string term") 

而且在這裏我也得到沒有回報。怎麼了?

回答

1
pat1 = re.compile("\sterm=\"([\w\s]+)\"") 
line = '<aspectTerm term=\"battery life\" polarity=\"positive\" from=\"74\" to=\"86\"/>' 
mat = pat1.search(line) #or pat1.findall(line) 
print mat.groups() 

你需要pattern.search,而不是pattern.match,因爲它相匹配的字符串的起點開始。

輸出:('battery life',)

相關問題