正则表达式匹配字符串的报价和HREF
问题描述:
我想使用正则表达式匹配正则表达式匹配字符串的报价和HREF
<a href = "something" >
下面的字符串中
, 但没有被打印出来。
E = '<a> test <a href> <a href = "something" ><a href="anything">'
H = re.match('^[<a href = ]\".\" >$' , E)
print (H)
答
我建议你不要使用正则表达式来解析HTML(对于有BeautifulSoup
)
既然你说,你是不是,这里是东西:
>>> regex = re.compile("(<\s*a\s*href\s*=\s*\"something\"\s*>)+")
# Run findall
>>> regex.findall(string)
[u'<a href = "something" >'] # your tag
答
不要用正则表达式解析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')
不要使用正则表达式来解析html! – Volatility 2013-03-19 08:37:40
和你想匹配什么? – VladL 2013-03-19 08:38:26
我不解析HTML,它只是一个练习练习,我只是试图在字符串中搜索 – 2013-03-19 08:39:17