gpt4 book ai didi

python - 如何在 python 的 lookbehind 正则表达式中使用星号?

转载 作者:太空宇宙 更新时间:2023-11-04 10:15:22 25 4
gpt4 key购买 nike

我的测试字符串:

1. default, no   hair, w/o glass
2. ski suit
3. swim suit

如何检测头发前是否有“no”或“w/o”(中间可能有超过 1 个空格)?

最终目标:

1. default, no   hair, w/o glass    returns False
1. default, no hair, w/o glass returns False
1. default, w/o hair, w/o glass returns False
1. default, w hair, w/o glass returns True

目标是判断是否应该使用玻璃。

我的尝试:(?<!no\s)hair ( http://rubular.com/r/PdKbmyxpGh )

你可以看到在上面的例子中,如果有超过 1 个空格,那么我的正则表达式将不起作用。

最佳答案

re 模块不支持可变长度(零宽度)后视。

您需要:

  • 修复了 hair

    前的空格数
  • 使用regex模块


使用负前瞻的短函数:

def re_check(s):
return re.search(r'^[^,]+,\s+(?!(?:no|w/o)\s+hair,)', s) is not None

>>> re_check('default, no hair, w/o glass')
False
>>> re_check('default, w/o hair, w/o glass')
False
>>> re_check('default, w hair, w/o glass')
True

关于python - 如何在 python 的 lookbehind 正则表达式中使用星号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35691454/

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