我有一个很长数据对列表,如下所示:
{0x1023350, 0x3014},
{0x1023954, 0x3007},
{0x1023960, 0x10F},
{0x102396C, 0x2FF},
{0x10219, 0x16},
这里的数字可以是2位到8位,但我的要求是用前导零填充它们,以便在最终输出中所有数字的长度都是8位。
{0x01023350, 0x00003014},
{0x01023954, 0x00003007},
{0x01023960, 0x0000010F},
{0x0102396C, 0x000002FF},
{0x00010219, 0x00000016},
我如何使用正则表达式(我正在使用记事本++,但如果我不能在记事本++中执行此操作,我也可以使用其他工具)
我还没有那么流利的正则表达式来尝试任何解决方案。
1条答案
按热度按时间68bkxrlz1#
分两步完成:
步骤1 -添加多余的左填充
搜索:
0x
替换:
0x00000000
第2步-完全匹配多余部分并将其删除
搜索:
0x\d+(?=[\dA-F]{8}[,}])
替换:
0x
正则表达式:
\d+
表示一个或多个数字(?=[\dA-F]{8}[,}])
表示后跟8个十六进制字符,然后是逗号或}
一些python代码演示:
输出量: