这个问题在这里已有答案:
我该如何解析以下的html代码?
我已经找到了解析“AAA,BBB”的方法但是对我来说无法解析“1. CCC”和“DDD”
输出应如下所示:AAA,BBB,CCC,DDD
<td style="background:#edeaea;height:30px;padding-top:10px;" align="center" valign="top">
<a href="design-future">
<img src="../habsr/images2/viels_k/cool.jpg" alt="AAA, BBB" title="cool" style="width:105px;">
1. CCC<br><b><font color="#ff0000">DDD</font></b>
grep
和sed
的混合可以工作:
我将您的文本复制/粘贴到名为blah的文件中。
$ grep -o -E "\<[A-Z]{3}\>" blah | xargs | sed 's/ /, /g'
// output
AAA, BBB, CCC, DDD
关于grep的解释:
-o
从grep输出(AAA,BBB等)捕获匹配
-E
为正则表达式
"\<[A-Z]{3}\>"
在字边界上有3个字母的A-Z匹配
到xargs
的管道从grep输出中获取一行(用空格分隔)
sed
的最后一个管道只是将空格转换为逗号空间以实现所需的输出。