gpt4 book ai didi

python - 为什么 Python 中的 re.sub 在这个测试用例上不能正常工作?

转载 作者:太空宇宙 更新时间:2023-11-03 12:17:55 26 4
gpt4 key购买 nike

试试这段代码。

test = ' az z bz z z stuff z  z '
re.sub(r'(\W)(z)(\W)', r'\1_\2\3', test)

这应该用 _z 替换所有独立的 z

然而,结果是:

' az _z bz _z z stuff _z _z '

你看那里少了一个 z。我推测这是因为分组无法捕获 z 之间的空间来同时匹配两个 z(一个用于尾随空格,一个用于前导空格)。有办法解决这个问题吗?

最佳答案

如果您的目标是确保仅匹配作为独立单词的 z,请使用 \b 来匹配单词边界而不实际消耗空格:

>>> re.sub(r'\b(z)\b', r'_\1', test)
' az _z bz _z _z stuff _z _z '

关于python - 为什么 Python 中的 re.sub 在这个测试用例上不能正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4295591/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com