我有一系列字符串,我想从中提取特定内容:
['link.description', 'button.text]] </li>']
我想获得以下输出:
link.description
button.text
对于数组中的每个字符串,我执行以下操作:
str = re.findall('(.*?)\]+', str)
使用上面的正则表达式,我只能得到button.text。我如何获得link.description和button.text?我尝试使用:
str = re.findall('(.*?)\]*', str)
但是上面只是在返回str中给了我一堆空白。
答案 0 :(得分:3)
对于像这样的简单任务,您不需要正则表达式。此外,如果没有正则表达式,您的代码可能更有意义。
在这种情况下,您只需使用str.split()
:
>>> thingies = ['link.description', 'button.text]] </li>']
>>> different_thingies = [thingy.split(']')[0] for thingy in thingies]
>>> different_thingies
['link.description', 'button.text']
答案 1 :(得分:0)
嗯,试试\] +。那是你要的吗? (Asterisk说“匹配零次或更多次”,你可以看到 - 经常匹配。)