我想从一个包含几千行的文本文件中提取一组特定的字符串。该文件有空行,这对于保存至关重要。我设法匹配所有字符串,但我没有设法保留它们同时删除可能在同一行中的所有其他内容。我尝试过负面的前瞻 - 他们只设法匹配每行模式的一个实例。
我使用的是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
....
每行可能会出现多次模式。
感谢您的帮助!
答案 0 :(得分:0)
您可以使用
(\h*\w*druck\b[[:punct:]\h]*)|.
并替换为$1
详细:
(\h*\w*druck\b[[:punct:]\h]*)
- 第1组捕获序列
\h*
- 0+水平空格\w*
- 0+ word chars druck\b
- druck
后跟字边界[[:punct:]\h]*
- 零个或多个标点符号或水平空格|
- 或.
- 除了换行符之外的任何字符