Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 替换字符串中的未知值_Python_Python 3.x - Fatal编程技术网

Python 替换字符串中的未知值

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

我正在运行一个进程,该进程将大量信息转储到目录中的文件中。我稍后运行相同的过程,并对目录进行区分,以查看发生了什么变化。由于内存地址,我得到了一堆错误的更改

例如:

  • 运行1给出

    0xb7390dd0
    
  • 运行2给出

    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}