我有一个日志文件的副本,我想让它更容易查看/编辑 我使用textpad删除我不想要的东西,我可以输入正则表达式作为搜索词,并在目标字段中使用 \ 1. \ 2. \ 3. \ 4 来捕获组。 /> 我想从
更改从每行开始的所有IP地址[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}
到
[0-9]{3}\.[0-9]{3}\.[0-9]{3}\.[0-9]{3}
带有填充前导零的如何一次性完成?
示例输入:
10.2.123.4
110.12.23.40
123.123.123.123
1.2.3.4
示例输出
010.002.123.004
110.012.023.040
123.123.123.123
001.002.003.004
看看我自己的答案是否有效
感谢您的输入
答案 0 :(得分:2)
好的,我决定不止一次去做。我将它发布在这里以供将来参考,或者如果有人想出一个正则表达式
请注意,每个查找都有一个尾随空格,每个都替换
^([0-9]{1})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3}) -> 00\1.\2.\3.\4
^([0-9]{2})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3}) -> 0\1.\2.\3.\4
^([0-9]{3})\.([0-9]{1})\.([0-9]{1,3})\.([0-9]{1,3}) -> \1.00\2.\3.\4
^([0-9]{3})\.([0-9]{2})\.([0-9]{1,3})\.([0-9]{1,3}) -> \1.0\2.\3.\4
^([0-9]{3})\.([0-9]{3})\.([0-9]{1})\.([0-9]{1,3}) -> \1.\2.00\3.\4
^([0-9]{3})\.([0-9]{3})\.([0-9]{2})\.([0-9]{1,3}) -> \1.\2.0\3.\4
^([0-9]{3})\.([0-9]{3})\.([0-9]{3})\.([0-9]{1}) -> \1.\2.\3.00\4
^([0-9]{3})\.([0-9]{3})\.([0-9]{3})\.([0-9]{2}) -> \1.\2.\3.0\4
Textpad语法:
^\([0-9]\{1\}\)\.\([0-9]\{1,3\}\)\.\([0-9]\{1,3\}\)\.\([0-9]\{1,3\}\) -> 00\1.\2.\3.\4
^\([0-9]\{2\}\)\.\([0-9]\{1,3\}\)\.\([0-9]\{1,3\}\)\.\([0-9]\{1,3\}\) -> 0\1.\2.\3.\4
^\([0-9]\{3\}\)\.\([0-9]\{1\}\)\.\([0-9]\{1,3\}\)\.\([0-9]\{1,3\}\) -> \1.00\2.\3.\4
^\([0-9]\{3\}\)\.\([0-9]\{2\}\)\.\([0-9]\{1,3\}\)\.\([0-9]\{1,3\}\) -> \1.0\2.\3.\4
^\([0-9]\{3\}\)\.\([0-9]\{3\}\)\.\([0-9]\{1\}\)\.\([0-9]\{1,3\}\) -> \1.\2.00\3.\4
^\([0-9]\{3\}\)\.\([0-9]\{3\}\)\.\([0-9]\{2\}\)\.\([0-9]\{1,3\}\) -> \1.\2.0\3.\4
^\([0-9]\{3\}\)\.\([0-9]\{3\}\)\.\([0-9]\{3\}\)\.\([0-9]\{1\}\) -> \1.\2.\3.00\4
^\([0-9]\{3\}\)\.\([0-9]\{3\}\)\.\([0-9]\{3\}\)\.\([0-9]\{2\}\) -> \1.\2.\3.0\4
答案 1 :(得分:2)
不完整,你需要一个衬垫,但它至少会将它降低到两行而不是你当前的8行。
遵循您在答案中使用的相同格式:
^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3}) -> 00\1.00\2.00\3.00\4
^0*([0-9]{3})\.0*([0-9]{3})\.0*([0-9]{3})\.0*([0-9]{3}) -> \1.\2.\3.\4
这种方式的工作原理是:
答案 2 :(得分:1)
吐在"."
上,填充,加入。不需要正则表达式。即便如此,Regex也不会提供任何好处。
JavaScript,例如:
var ip = "110.12.23.40";
ip = ip.split(".").map( function(i) {
return ("00"+i).slice(-3);
}).join(".");
alert(ip); // 110.012.023.040