我需要使用python解析下面文本中的设备时间(即2012-01-17 13:12:09)。你能告诉我如何使用python中的标准正则表达式库来做到这一点吗?感谢。
<html><head><style type="text/css">h1 {color:blue;}h2 {color:red;}</style>
<h1>Device #1 Root Content</h1><h2>Device Addr: 127.0.0.1:8080</h1>
<h2>Device Time: 2012-01-17 13:12:09</h2></body></html>
答案 0 :(得分:2)
只是添加
import re
pattern = re.compile(r'(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})')
first_match = pattern.search(html)
答案 1 :(得分:1)
你需要这个正则表达式。
/Device Time: (\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})/
或者,
/Device Time: (\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d)/
将此正则表达式与全局开启一起使用。
答案 2 :(得分:1)
试试这个正则表达式
Device Time: ([^<]+)
这将在“设备时间:”之后返回剩余的休息,直到下一个html标记开始。如其他答案所示,您还可以搜索此日期时间的更具体格式。
一般来说,使用正则表达式解析html文件被认为是不好的做法。然而,你的例子更像是解析一些正常文本,恰好是html文件的一部分...在这种情况下,这很好......; - )
答案 3 :(得分:1)
也许是这样的: 导入重新
str = """ Your HTML String here"""
pattern = re.compile(r"""Device Time:([ \d\-:]*)""")
s = pattern.search(str)
time = s.group(1)