以下 Python 脚本:re.sub("[^a-zA-Z]pi[^a-zA-Z]", "(math.pi)", "2pi3 + supirse")
结果:'(math.pi) + supirse'
虽然 pi 前后的非字母匹配很关键,但我不希望在匹配中替换这些非字母字符。我希望看到以下输出:'2(math.pi)3 + supirse'
注意:之前的建议如下:re.sub("\Bpi\B", "(math.pi)", "2pi3 + supirse")
导致完全替换每个实例:'2(math.pi)3 + su(math.pi)rse' 这也不是我要找的
请您参考如下方法:
改用这个:re.sub("(?<=[^a-zA-Z])pi(?=[^a-zA-Z])", "(math.pi)", "2pi3 + supirse")
