2024-10-03 09:09:30 发布
网友
我的程序在标记位于文件中时将其替换为值。当阅读某一行时,它会被卡住,例如: 1.1.1.1.1.1.1.1.1.1 Token100.1 1.1.1.1.1.1.1Token100a
1.1.1.1.1.1.1.1.1.1 Token100.1 1.1.1.1.1.1.1Token100a
示例中的两个令牌是令牌100和令牌100a。我需要一种方法,只将Token100替换为它的数据,而不将Token100a替换为Token100的数据。我找不到前后的空间,因为有时候它们在直线中间。任何想法都很感激。谢谢
可以使用带有negative lookahead的正则表达式来确保以下字符不是"a":
"a"
>>> import re >>> test = '1.1.1.1.1.1.1.1.1.1 Token100.1 1.1.1.1.1.1.1Token100a' >>> re.sub(r'Token100(?!a)', 'data', test) '1.1.1.1.1.1.1.1.1.1 data.1 1.1.1.1.1.1.1Token100a'
您可以使用正则表达式:
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的更多信息,请参见:
https://www.w3schools.com/python/python_regex.asp
可以使用带有negative lookahead的正则表达式来确保以下字符不是
"a"
:您可以使用正则表达式:
产出:
有关regex的更多信息,请参见:
https://www.w3schools.com/python/python_regex.asp
相关问题 更多 >
编程相关推荐