2013-03-19 105 views
-1

我想使用正则表达式匹配正则表达式匹配字符串的报价和HREF

<a href = "something" > 
下面的字符串中

, 但没有被打印出来。

E = '<a> test <a href> <a href = "something" ><a href="anything">' 
H = re.match('^[<a href = ]\".\" >$' , E) 
print (H) 
+2

不要使用正则表达式来解析html! – Volatility 2013-03-19 08:37:40

+1

和你想匹配什么? – VladL 2013-03-19 08:38:26

+2

我不解析HTML,它只是一个练习练习,我只是试图在字符串中搜索 – 2013-03-19 08:39:17

回答

0

我建议你不要使用正则表达式来解析HTML(对于有BeautifulSoup
既然你说,你是不是,这里是东西:

>>> regex = re.compile("(<\s*a\s*href\s*=\s*\"something\"\s*>)+") 
# Run findall 
>>> regex.findall(string) 
[u'<a href = "something" >'] # your tag 
1

不要用正则表达式解析html。

下面是一个使用BeautifulSoup一个例子:

from BeautifulSoup import BeautifulSoup, SoupStrainer 


html_string = '<a> test <a href> <a href = "something" ><a href="anything">' 
for link in BeautifulSoup(html_string, parseOnlyThese=SoupStrainer('a')): 
    print link.get('href')