gpt4 book ai didi

Python 边界标记和\& 符号在我的字符串中找不到匹配项

转载 作者:太空宇宙 更新时间:2023-11-04 00:42:42 24 4
gpt4 key购买 nike

我只是在做

strn="india pp "
strn_n=re.sub('\\bp{2}\\b',' and ',strn)
print strn_n

我的输出是 india 并且 -- 按预期工作

但是当我尝试使用

strn="india && "
strn_n=re.sub('\\b\&{2}\\b',' and ',strn)
print strn_n

我期待印度和[因为 && 应该被替换]

但是并没有像我预想的那样发现它被替换了。

有人能指出为什么在我的第一个示例中边界标记不能与 \& 一起使用,而它与普通字符一起使用吗

最佳答案

\b assert position at a word boundary (^\w|\w$|\W\w|\w\W),所以引擎无法匹配第二个示例中的 \b&\b

您可以使用 lookarounds 实现您想要的效果, 通过匹配后面没有任何非空白字符且前面没有一个的 &&:

(?<!\S)&&(?!\S)

注意:&字符不需要转义,它没有任何特殊的正则表达式含义,\b也足够了,不需要double逃跑。

关于Python 边界标记和\& 符号在我的字符串中找不到匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41206625/

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