gpt4 book ai didi

python - 正则表达式匹配相同分隔符之间的多个结果

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

非常糟糕的标题 - 如果您觉得可以提供帮助,请随时更新

我正在尝试返回一个列表

[<str1>, <str2>,...,<strX>]

在以下字符串中:

' %%<str1>%%_Anything_Can_Be_Here_%%<str2>%% '

以下代码有效,但如果 ' %%行中的大于 2,它取第一组和最后一组之间的所有内容 ' %% '.

>>> import re
>>> str = '%%nas_ip_address%%'
>>> re.match('%%(.*)%%', str, re.DOTALL).group(1)
'nas_ip_address'


>>> str = '%%nas_ip_address%%:/vx/%%sfs_storage_pool%%'
>>> re.match('%%(.*)%%', str, re.DOTALL).group(1)
'nas_ip_address%%:/vx/%%sfs_storage_pool'
>>> re.match('%%(.*)%%', str, re.DOTALL).groups()
('nas_ip_address%%:/vx/%%sfs_storage_pool',)

有没有办法以某种方式提取 ['nas_ip_address', 'sfs_storage_pool']从使用正则表达式的字符串?我想解析一个非常大的文件,但是性能不是问题,因为它不用于生产

最佳答案

如果你想在同一个字符串中匹配多个结果,你可以使用re.findall()

试试这个:

import re
str = '%%nas_ip_address%%:/vx/%%sfs_storage_pool%%'
re.findall('%%(.*?)%%', str, re.DOTALL)

关于python - 正则表达式匹配相同分隔符之间的多个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47440467/

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