RegEx 提取字符串,保持行完整

RegEx extract string, keep lines intact

我想从几千行的文本文件中提取一组特定的字符串。该文件包含空行,这些空行对于保留至关重要。我设法匹配所有字符串,但我无法保留它们,同时删除同一行中可能包含的所有其他内容。我试过负前瞻——它们每行只能匹配一个模式实例。

我使用的是 SublimeText,但我也可以使用任何命令行正则表达式解释器。

我的数据是这样的:

....
Some Text, more text
[empty line]
Silberdruck
Golddruck, Silberdruck
[empty line]
Some Text, Silberdruck
Golddruck some text, Silberdruck
...

我需要保留所有包含 *druck 的单词,因此数据应如下所示:

....    
[empty line]
[empty line]
Silberdruck
Golddruck, Silberdruck
[empty line]
Silberdruck
Golddruck Silberdruck
....

该模式可能每行出现多次。

感谢您的帮助!

您可以使用

(\h*\w*druck\b[[:punct:]\h]*)|.

并替换为</code></p> <p><em>详情</em>:</p> <ul> <li><code>(\h*\w*druck\b[[:punct:]\h]*) - 第 1 组捕获序列

  • \h* - 0+ 水平空格
  • \w* - 0+ 个单词字符
  • druck\b - druck 后跟单词边界
  • [[:punct:]\h]* - 零个或多个标点符号或水平空格
  • | - 或
  • . - 除换行符以外的任何字符 char