gpt4 book ai didi

python - 无法捕获所需的组并踢出其余组

转载 作者:行者123 更新时间:2023-12-01 09:16:13 26 4
gpt4 key购买 nike

我在正则表达式中编写了一个模式,仅捕获 456jkl,jkl456 中的这两个 456jkl,jkl456 >,456,jkl 但是当我执行脚本时,它会获取所有四个。我哪里出错了?

我的脚本:

import re

content = """456jkl, 456, jkl, jkl456"""

item = [item for item in re.findall('((?:jkl|456)+)',content)]
print(item)

我得到:

['456jkl', '456', 'jkl', 'jkl456']

预期输出:

['456jkl', 'jkl456']

最佳答案

您的正则表达式当前匹配任一模式,但您希望它匹配这两种模式。您可以使用字符串格式来执行此操作:

a = '456'
b = 'jkl'

re.findall(rf'\b(?:{a}{b}|{b}{a})\b', content)
['456jkl', 'jkl456']

这意味着“仅匹配此序列或其相反序列”。这样,(虚假?)诸如“456456”和“jkljkl”之类的模式将不会匹配。

(适用于 python3.6+ f 字符串。)

关于python - 无法捕获所需的组并踢出其余组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51236164/

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