考虑到这一点:
input = """Yesterday<person>Peter</person>drove to<location>New York</location>"""
如何使用正则表达式模式提取:
person: Peter
location: New York
这很好,但我不想硬编码标签,它们可以更改:
print re.findall("<person>(.*?)</person>", input)
print re.findall("<location>(.*?)</location>", input)
避免使用正则表达式解析HTML,而是使用HTML解析器。
这里有一个使用美丽汤的例子:
from bs4 import BeautifulSoup
data = "Yesterday<person>Peter</person>drove to<location>New York</location>"
soup = BeautifulSoup(data)
print 'person: %s' % soup.person.text
print 'location: %s' % soup.location.text
打印:
person: Peter
location: New York
注意代码的简单性。
希望这有帮助。
使用为工作设计的工具。我碰巧喜欢lxml,但他们是另一个
>>> minput = """Yesterday<person>Peter Smith</person>drove to<location>New York</location>"""
>>> from lxml import html
>>> tree = html.fromstring(minput)
>>> for e in tree.iter():
print e, e.tag, e.text_content()
if e.tag() == 'person': # getting the last name per comment
last = e.text_content().split()[-1]
print last
<Element p at 0x3118ca8> p YesterdayPeter Smithdrove toNew York
<Element person at 0x3118b48> person Peter Smith
Smith # here is the last name
<Element location at 0x3118ba0> location New York
如果您是Python新手,那么您可能希望访问此站点,获取包括LXML在内的许多软件包的安装程序。
问题内容: 输入线在下面 你能帮我写一个Java正则表达式来提取 从上方输入线? 问题答案: 更加简洁:
我正在寻找一个正则表达式,它必须在不同类型的HTML标记之间提取文本。 对于前任: <代码> <代码> <代码> 我找到了这个特殊的片段
我有一根绳子,看起来像这样:
我正在努力想出一个正则表达式,它只能在单词的开头找到符号。例如: 这里: 但不是这里:
我想验证输入的代码是否是HTML代码(必须以<代码> 我试着这么做 但是我有一个问题需要在代码中做一个\n,我需要验证第一个和结束标签(=
本文向大家介绍正则表达式提取img的src,包括了正则表达式提取img的src的使用技巧和注意事项,需要的朋友参考一下 要匹配的字符串:<img src=image/ad1.gif width="128" height="36"/><img src='image/ad2.gif' width="128" height="36" /> 正则表达式:<img[\s]+src[\s]*=[\s]*(([