所以我有这个固定长度行的大文件。我想在字符行位置上进行查找和替换。
例子:
xxxxxxx 010109 xxxxxx xxxxx
xxxxxxx 010309 xxxxxx xxxxx
xxxxxxx 021506 xxxxxx xxxxx
xxxxxxx 041187 xxxxxx xxxxx
所以在这种情况下,我想找到从位置 13 到位置 18 的任何值,并将其替换为 010107。
谁能帮我解决如何为此制定正则表达式?
非常感激。
编辑:经过测试,Notepad++ 不支持定义确切字符数的 {n} 方法
这有效,对您的数据进行了测试:
寻找:
^(............)......
代替:
\1010107
试试这个搜索模式:
^(.{12})\d{6}
这作为替换表达式:
\1010107
s/^(?:.{12})(.{6})(?:.*)$/NNNNNN/
用所需的数字替换 NNNNNN
像这样的东西:
sed 's/^\(.\{12\}\).\{6\}\(.*\)$/\1010107\2/'
应该做的伎俩(转义为命令行使用)
只是为了记录,你不需要这样的正则表达式。一个简单的拆分或某种解包功能就可以了。