Python 当一个词在另一个词中但有特殊情况时替换

Python 当一个词在另一个词中但有特殊情况时替换,python,parsing,text,Python,Parsing,Text,我的程序在标记位于文件中时将其替换为值。当阅读某一行时,它会被卡住,例如: 1.1.1.1.1.1.1.1.1.1令牌100.1.1.1.1.1.1.1Token100a 示例中的两个令牌是令牌100和令牌100a。我需要一种方法,只将Token100替换为它的数据,而不将Token100a替换为Token100的数据。我找不到前后的空间,因为有时候它们在直线中间。任何想法都很感激。谢谢。您可以使用带有的正则表达式来确保以下字符不是“a”: 您可以使用正则表达式: import re line

我的程序在标记位于文件中时将其替换为值。当阅读某一行时,它会被卡住,例如:
1.1.1.1.1.1.1.1.1.1令牌100.1.1.1.1.1.1.1Token100a


示例中的两个令牌是令牌100和令牌100a。我需要一种方法,只将Token100替换为它的数据,而不将Token100a替换为Token100的数据。我找不到前后的空间,因为有时候它们在直线中间。任何想法都很感激。谢谢。

您可以使用带有的正则表达式来确保以下字符不是
“a”

您可以使用正则表达式:

import re
line = "1.1.1.1.1.1.1.1.1.1 Token100.1 1.1.1.1.1.1.1Token100a"

match = re.sub("Token100a", "data", line)
print(match)
产出:

 1.1.1.1.1.1.1.1.1.1 Token100.1 1.1.1.1.1.1.1data
有关regex的更多信息,请参见:

 1.1.1.1.1.1.1.1.1.1 Token100.1 1.1.1.1.1.1.1data