gpt4 book ai didi

python - 正则表达式没有给出完全匹配

转载 作者:太空宇宙 更新时间:2023-11-03 13:16:03 25 4
gpt4 key购买 nike

我正在尝试使用正则表达式在字符串中找到它。

  : [J, BASIC]
? [CINTERMEDIATE]
: [D,MEDIUM]

第一个字符可以是':' 或'?'然后有一个空格,然后是方括号在方括号内有两个文本 block ,用逗号和/或空格分隔。逗号或空格可能存在也可能不存在

这是我为了找到这个而写的

regex = re.compile('[:|?\s[\w[,\s]?\w]]+')

但它只找到

'C]'
'E]'
'M]'

最佳答案

您的正则表达式未将 [ 作为文字处理。它们被视为特殊字符(字符集)

您可以使用以下内容:

[:?]\s*\[\w+(\s*,\s*)?\w+\]

解释:

  • [:?] 第一个字符可以是“:”或“?”
  • \s*\[ 然后是空格,然后是方括号
  • \w+(\s*,\s*)?\w+ 方括号内有两个文本 block ,由逗号和/或空格分隔(可选逗号和空格)
  • \] 右括号

参见 DEMO

编辑:如果你想捕获你可以使用的匹配:

([:?]\s*\[\w+(?:\s*,\s*)?\w+\])

关于python - 正则表达式没有给出完全匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30093763/

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