正则表达式在修复长度文件中查找/替换

时间:2009-04-08 18:23:27

标签: regex notepad++ replace

所以我有这个修复长度行的大文件。我想在字符行位置进行查找和替换。

示例:

xxxxxxx     010109 xxxxxx xxxxx
xxxxxxx     010309 xxxxxx xxxxx
xxxxxxx     021506 xxxxxx xxxxx
xxxxxxx     041187 xxxxxx xxxxx

所以在这种情况下,我想找到从第13位到第18位的任何值,并将其替换为010107.

有人可以帮我解决如何为此制定正则表达式吗?

非常感谢。

5 个答案:

答案 0 :(得分:1)

编辑:经过测试,Notepad ++不支持定义确切数量的字符的{n}方法

这适用于您的数据:

查找

^(............)......

替换:

\1010107

答案 1 :(得分:0)

尝试此搜索模式:

^(.{12})\d{6}

这是替换表达式:

\1010107

答案 2 :(得分:0)

S / ^(?:{12})({6})。(?:*)$ / NNNNNN /

将NNNNNN替换为所需的数字

答案 3 :(得分:0)

这样的事情:

sed 's/^\(.\{12\}\).\{6\}\(.*\)$/\1010107\2/'

应该做的伎俩(转义为命令行使用)

答案 4 :(得分:0)

只是为了记录,你不需要像这样的东西的正则表达式。一个简单的拆分或某种解包功能就可以了。