记事本++删除除匹配正则表达式之外的所有文本 [英] notepad++ deleting all text except what matches regex

查看:53
本文介绍了记事本++删除除匹配正则表达式之外的所有文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含录音信息的文本文件,包括曲目编号和名称,我想删除除曲目编号和曲目名称之外的所有其他文本.例如文本文件如下所示:

I have a text file with information about a recording, including track numbers and names, and I want to delete all the other text except the track number and track names. For example the text file looks like this:

text text text text
text text text text text text text text
text text text text text text text text text text text text
text text text text
text text text text text text text text
text text text text 
text text text text text text text text text text text text text text text text 
text text text text text text text text 
text text text text 

d1t01 - trackname

d1t02 - trackname

d1t03 - trackname

d1t04 - trackname

d1t05 - trackname

d1t06 - trackname

d1t07 - trackname

d1t08 - trackname

d1t09 - trackname

d1t10 - trackname

d1t11 - trackname

text text text text
text text text text text text text text
text text text text text text text text text text text text
text text text text
text text text text text text text text
text text text text 
text text text text text text text text text text text text text text text text 
text text text text text text text text 
text text text text 

我只想留下这个:

d1t01 - trackname

d1t02 - trackname

d1t03 - trackname

d1t04 - trackname

d1t05 - trackname

d1t06 - trackname

d1t07 - trackname

d1t08 - trackname

d1t09 - trackname

d1t10 - trackname

d1t11 - trackname

我想出了如何用这个正则表达式匹配行的开头:

I figured out how to match the beginning of the line with this regex:

d[0-9]+t[0-9]+[0-9]+ -

但我不知道如何删除其余的文本"而只留下那些行.我还需要它来删除返回",而不是在文本文件中留下任何空行.

But I can't figure out how to delete the rest of the "text" and only leave those lines. I also need it to delete the "returns" and not be left with any blank lines in the text file.

谢谢!

推荐答案

EDIT:您应该可以在此处使用以下内容.

EDIT: You should be able to use the following here.

Find: ^(?!d\w+).*\r?\n?
Replace:   

正则表达式:

^              the beginning of the string
(?!            look ahead to see if there is not:
  d              'd'
  \w+            word characters (a-z, A-Z, 0-9, _) (1 or more times)
)              end of look-ahead
.*             any character except \n (0 or more times)
\r?            '\r' (carriage return) (optional)
\n?            '\n' (newline) (optional)

这篇关于记事本++删除除匹配正则表达式之外的所有文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆