2015-08-03 10 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>

Мой питон код:

match = re.match(r'<Hello.There>.+Source:(.+?),\s*</Hello.There>
я получаю None для матча после этой строки, какие-нибудь идеи?
(я пробовал еще много вариантов регулярного выражения без успеха)

ответ

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.

Смежные вопросы