首页 > 解决方案 > 单词边界 \b 不适用于 Python 正则表达式中带点的字符串

问题描述

我需要用 替换一个特定的单词abcabc_test但是用\b,.被认为是单词边界,所以我得到了意想不到的结果。有人可以帮我弄清楚如何跳过替换.with/b吗?

这是我的脚本:

import re
f = open("4.txt", "r").read()
op = re.sub(r'\babc\b', 'abc_test', f)
print(op)

这是我的输入文件 4.txt:

abc
abc xyz
abc
abc.asd

输出:

abc_test
abc_test xyz
abc_ztx
abc_test.asd # This gets replaced which is not as expected

预期输出:

abc_test
abc_test xyz
abc_ztx
abc.asd # This shouldn't be replaced

如何限制正则表达式跳过abc.asd这里?

标签: pythonpython-3.xregexpython-2.7

解决方案


推荐阅读