我有一个文本文件,我需要根据搜索替换其中的特定项目。
这是我在文件中的内容:
abc( xyz (124CKZ7859.pqr) craft(124CKZ7859.trm)
line1
line2
line3
abc( xyz (124CD7859.pqr) craft(124CD7859.pqr.trm)
line1
line2
line3
abc( xyz (128CKZ8559.pqr) craft(124CKZ7859.trm)
line1
line2
line3
我需要的是查找第 5 个字符(在本例中为 Z)并删除整行及其下的行,直到获得下一组
所以结果应该是
abc( xyz (124CD7859.pqr) craft(124CD7859.pqr.trm)
line1
line2
line3
答案1
- Ctrl+H
- 找什么:
^abc\( xyz \(\w{5}Z.+\R(?:.+(?:\R|$)){3}
- 用。。。来代替:
LEAVE EMPTY
- 检查环绕
- 检查正则表达式
- 请勿检查
. matches newline
- Replace all
解释:
^ : beginning of line
abc\( xyz \( : literally
\w{5} : 5 word character
Z : letter Z
.+ : 1 or more any character but newline
\R : any kind of linebreak
(?: : start non capture group
.+ : 1 or more any character but newline
(?:\R|$) : non capture group, linebreak or end of line (for the last line)
){3} : must appear 3 times
给定示例的结果:
abc( xyz (124CD7859.pqr) craft(124CD7859.pqr.trm)
line1
line2
line3