gpt4 book ai didi

python - 使用 python 正则表达式查找重复表达式

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

您好,我正在尝试从文件中检索以下字符串

neighbors= {5 7 9 11 13 14 15 16 17 }

模式 {number1 number2... } 各不相同,有些短,有些太长。我想找到这样的模式。我的逻辑是检索语句 "neighbors= {" 后跟一个数字和一个空格作为重复,直到程序找到最后一个闭合的大括号。有人可以帮我解决语法问题吗?

谢谢

最佳答案

我想你正在寻找这个:

import re
FOO = """neighbors= {5 7 9 11 13 14 15 16 17 }"""
match = re.search('(neighbors\s*=\s*\{\s*(\d+\s*)+\})', FOO)
print match.group(1)

正则表达式是可移植的,当然适用于许多不同的语言。

运行产生...

neighbors= {5 7 9 11 13 14 15 16 17 }

但是正则表达式将匹配花括号中任意数量的数字。

编辑

re.findall()re.compile() 说明......

import re
FOO = """neighbors= {5 7 9 11 13 14 15 16 17 }"""
COMPILE = re.compile('(neighbors\s*=\s*\{\s*(\d+\s*)+\})')
match = re.findall(COMPILE, FOO)
print match[0]

运行第二个代码返回...

neighbors= {5 7 9 11 13 14 15 16 17 }

尽管您应该记住,.findall() 用于在目标字符串中多次 出现正则表达式匹配。提供的示例没有说明需要 .findall()

关于python - 使用 python 正则表达式查找重复表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6092863/

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