正则表达式 - 从Notepad ++中的数字中删除文本

时间:2013-05-29 19:59:40

标签: regex replace notepad++

我有一大部分数据,如下所示:

MyApp.Whatever\app.config(115): More stuff here, but possibly with numbers or parenthesis...

我想使用Notepad ++创建一个替换过滤器,用于识别和替换行号“(115):”并将其替换为制表符后跟相同的数字。

我一直在尝试使用(\(\d+\):)(\(\[0-9]+\):)等过滤器,但他们会继续在\1输出中返回整个值。

如何使用Notepad ++创建一个过滤器,该过滤器可以使用制表符+ (115):成功替换115

3 个答案:

答案 0 :(得分:2)

使用量词.. (\(\d+?\):)在哪里?会阻止它贪婪。此外,由于所有内容都在()中,因此它会将其全部分组并将其视为\ 1 ..

如果它在perl中我会说\((\d+?)\):它应该只匹配内部部分。

编辑:

刚刚和我的同事谈过 - 他说s/\((\d+)\)/\t\1/如果你需要前面的app配置,你可以把它放在前面。

答案 1 :(得分:1)

这应该可以满足您的需求

替换

\((\d+)\):

\t$1

答案 2 :(得分:1)

(\(\d+\):)替换为\t\1将保留括号和冒号,因为您已将它们包含在组(外括号)中,我认为这就是您的意思通过"他们不断返回整个价值。"

而不是逃避那些内部括号,而不是像其他答案所暗示的那样逃避外部括号:\((\d+)\): - 这表示匹配左边的paren,然后匹配并捕获一组数字,然后匹配右边的paren和一个冒号。用\t\1替换它将消除捕获组中不存在的parens和冒号。