如何使用grep命令提取html中标记之间的内容



我想写一个grep命令,它将在h1标签之间提取内容,而不考虑类和其他属性

我试过

grep -o '>.*</h1>' Email.txt

但只给出了三个元素

使用GNUgrep,您可以使用

grep -oP '<h1(?:s[^>]*)?>K.*?(?=</h1>)' Email.txt

-P选项将启用PCRE正则表达式引擎,并且模式将与匹配

  • <h1-<h1字符串
  • (?:s[^>]*)?-一个可选的非捕获组,匹配1或0个空白(s(,后面跟0个以上的字符,而不是>
  • >-一个>字符
  • K-匹配重置运算符,用于丢弃到目前为止从匹配内存缓冲区匹配的文本
  • .*?-换行字符以外的任何0+个字符,尽可能少
  • (?=</h1>)-与紧接着</h1>子字符串的位置相匹配的正向前瞻

相关内容

  • 没有找到相关文章

最新更新