所以我有一些不干净的HTML:
"<table class="content divbackground"><tr><td class='title'> </td><td class='title'>From</td><td class='title'>To</td></tr><tr><td class='entry'>Monday</td><td class='entry'>09:00</td><td class='entry'>18:00</td></tr><tr><td class='entry'>Tuesday</td><td class='entry'>09:00</td><td class='entry'>18:00</td></tr><tr><td class='entry'>Wednesday</td><td class='entry'>09:00</td><td class='entry'>18:00</td></tr><tr><td class='entry'>Thursday</td><td class='entry'>09:00</td><td class='entry'>20:00</td></tr><tr><td class='entry'>Friday</td><td class='entry'>09:00</td><td class='entry'>20:00</td></tr><tr><td class='entry'>Saturday</td><td class='entry'>09:00</td><td class='entry'>18:00</td></tr><tr><td class='entry'>Sunday</td><td class='entry'>11:00</td><td class='entry'>18:00</td></tr></table></td></td>"
这是药房的营业时间(信息在公共登记簿上公布)。
现在,我可以使用解析器解析HTML,但我发现这对错误不起作用,我仍然需要在
<table>
和</table>
之间提取代码。有一些不错的unix命令(sed)吗寻找所有发生的:
二十:二十
内部
<td></td>
标记在哪里X必须是一个数字?
最佳答案
用regex处理html不是好的做法。但是,如果您的输入格式是固定的,您可以尝试以下grep行:
grep -oP '<td[^>]*>\K\d\d:\d\d' input
通过示例输入,它输出:
09:00
18:00
09:00
18:00
09:00
18:00
09:00
20:00
09:00
20:00
09:00
18:00
11:00
18:00
关于linux - sed-从字符串中提取特定字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29408172/