2015-08-03 32 views
1

考虑您有以下文字:无法匹配正则表达式模式

yada yada 
yada yada 1 
; 


<Hello.There>yada:EGHKJHKG, Source:QWEKGHGHJGKGHJKGHJKVMVNMVMVMVMVMVMVMBTDFHG, </Hello.There> 
yada2 
yada3 

我希望能够把信息Source:后,只有前,

我设法与这site做到这一点,并匹配源值 我正则表达式是:
<Hello.There>.+Source:(.+?),\s*</Hello.There>

我的Python代码:

match = re.match(r'<Hello.There>.+Source:(.+?),\s*</Hello.There>
我得到无,匹配在这一行之后,有什么想法?
(我试过很多正则表达式选项,但没有成功)

回答

4

re.match只匹配字符串的开头。如果您不想在开始时进行匹配,则需要使用re.search

>>> import re 
>>> re.match('llo', 'hello') # only match at the beginning 
>>> re.search('llo', 'hello') # match anywhere 
<_sre.SRE_Match object at 0x00000000029BA4A8> 

请参阅search() vs. match() from the Python re module documentation