我有一大部分数据,如下所示:
MyApp.Whatever\app.config(115): More stuff here, but possibly with numbers or parenthesis...
我想使用Notepad ++创建一个替换过滤器,用于识别和替换行号“(115):”并将其替换为制表符后跟相同的数字。
我一直在尝试使用(\(\d+\):)
和(\(\[0-9]+\):)
等过滤器,但他们会继续在\1
输出中返回整个值。
如何使用Notepad ++创建一个过滤器,该过滤器可以使用制表符+ (115):
成功替换115
?
答案 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和冒号。