0

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

例子:

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

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

谁能帮我解决如何为此制定正则表达式?

非常感激。

4

5 回答 5

1

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

这有效,对您的数据进行了测试:

寻找:

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

代替:

\1010107
于 2009-04-08T18:29:04.393 回答
0

试试这个搜索模式:

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

这作为替换表达式:

\1010107
于 2009-04-08T18:28:55.593 回答
0

s/^(?:.{12})(.{6})(?:.*)$/NNNNNN/

用所需的数字替换 NNNNNN

于 2009-04-08T18:35:08.293 回答
0

像这样的东西:

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

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

于 2009-04-08T18:49:40.023 回答
0

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

于 2009-04-09T01:09:22.230 回答