1

我在文件中有一大段文本:

<tr bgcolor="#F9F9F9">
     <td align="left">8/7/2012 11:23:42 AM</td>
     <td align="left"><em>Here is the text I want to parse out</em></td>
     <td class="ra">9.00</td>
     <td class="ra">297.00</td>
     <td class="ra">0.00</td>
     <td class="ra">0.00</td>
     <td class="ra">$0.00</td>
     <td class="ra">$0.50</td>
     <td class="ra"></td>
 </tr>

使用 grep 我想最终得到的结果是

这是我要解析的文本

我现在正在处理代码

cat file.txt | grep -m 1 -oP '<em>[^</em>]*'

但这不起作用...感谢您的帮助!

4

1 回答 1

4

正确的正则表达式是(?<=<em>).*?(?=</em>).

所以,试试:

grep -m 1 -oP '(?<=<em>).*?(?=</em>)' file.txt
于 2012-08-07T17:17:32.273 回答