Python 替换字符串中的未知值
我正在运行一个进程,该进程将大量信息转储到目录中的文件中。我稍后运行相同的过程,并对目录进行区分,以查看发生了什么变化。由于内存地址,我得到了一堆错误的更改 例如:Python 替换字符串中的未知值,python,python-3.x,Python,Python 3.x,我正在运行一个进程,该进程将大量信息转储到目录中的文件中。我稍后运行相同的过程,并对目录进行区分,以查看发生了什么变化。由于内存地址,我得到了一堆错误的更改 例如: 运行1给出 0xb7390dd0 运行2给出 0xb73909c8 我希望能够忽略内存地址不同这一事实?实现这一目标的最佳方式是什么 我不能使用.replace(),因为我事先不知道地址是什么。您可以创建一个正则表达式来匹配值的模式并替换匹配的值 >>> pattern = r'0x\w{8}' >&
0xb7390dd0
0xb73909c8
我不能使用
.replace()
,因为我事先不知道地址是什么。您可以创建一个正则表达式来匹配值的模式并替换匹配的值
>>> pattern = r'0x\w{8}'
>>> matcher = re.compile(pattern)
>>> matcher.match('0xb73909c8: has the error')
<_sre.SRE_Match object at 0x01E25288>
>>> matcher.match('0xb73909c8: has the error').group()
'0xb73909c8'
您可以创建一个正则表达式来匹配值的模式,并替换匹配的值
>>> pattern = r'0x\w{8}'
>>> matcher = re.compile(pattern)
>>> matcher.match('0xb73909c8: has the error')
<_sre.SRE_Match object at 0x01E25288>
>>> matcher.match('0xb73909c8: has the error').group()
'0xb73909c8'
您可以创建一个正则表达式来匹配值的模式并替换匹配的值为什么不从您首先转储的信息中排除内存地址?您可以创建一个正则表达式来匹配值的模式并替换匹配的值为什么不从您首先转储的信息中排除内存地址?并且您可以写入
r'0x\w\w\w\w\w\w\w'
简称为r'0x\w{8}
。您可以编写r'0x\w\w\w\w\w'
简称为r'0x\w{8}
。