sed替换:对于类似的正则表达式模式匹配,替换结果非常不同

时间:2017-12-28 08:25:08

标签: bash sed

我使用sed替换文件中的所有HTML标记

文字:

<html>
   <body>
      <h1>Hello World!</h1>
   </body>
</html>

我检查过基本正则表达式<.*\?><[^>]*>只匹配文本中的HTML标记。

当我使用sed 's/<.*\?>//g' [input-file]时,sed替换所有内容并打印出五个空白行,而sed 's/<[^>]*>//g [input-file]生成正确的输出并首先打印两个空白行,然后 Hello World !在下一行有适当的缩进,最后两行为空白。

为什么类似匹配的行为会有所不同?

0 个答案:

没有答案