Python:替换字母数字子字符串的所有实例,不包括高阶数字

2024-05-16 01:55:21 发布

您现在位置:Python中文网/ 问答频道 /正文

使用re.sub,我试图查找并替换字母数字子字符串(例如run1)的所有实例,但数字为高阶数字(例如run12)的子字符串实例除外

我原以为lookbehind (?<![0-9])会阻止“run12”匹配,但我不熟悉它的用法,可能使用不正确

import re

mystring = '/mypath/run1/run12_run1_file.txt'
mynewstring = re.sub(r'run1(?<![0-9])',r'run2',mystring)
print mynewstring

理想情况下,这将返回:

/mypath/run2/run12_run2_file.txt

相反,它不匹配任何内容并返回:

/mypath/run1/run12_run1_file.txt

有什么建议吗


Tags: 实例字符串retxt用法字母数字file