我需要替换出现在较长字符串中的数字(角),它们看起来都类似于:
[ 17 plane_17 \ 23 25 17 99 150 248 \ noname ]
我的函数将“旧”数字替换为“新”数字,例如,如果旧数字是 17 而新数字是 19,那么结果应该是:
[ 17 plane_17 \ 23 25 19 99 150 248 \ noname ]
请注意,只有 \ \ 中的数字应该被替换(这些也可以是 // )。
为此,我尝试设置一个正则表达式替换,目的是避免 \ \ 或 / / 之外的数字:
newplane = re.compile(r"[^[_] (" + str(oldcorner) + ")").sub(str(newcorner), oldplane)
我很快意识到这不起作用,因为正则表达式从行首搜索,然后如果它与模式不匹配则失败。
一定有一些我不知道的聪明的方法。有什么建议吗?