Python索引正则表达式匹配的列表

时间:2013-05-17 05:57:51

标签: python regex list

再次认识到这与SO上的一些其他问题类似但我无法为我的目的转换。例如。使用下面的代码段

import re
a = ['rhubarb','plain custard','jam','vanilla custard','pie','cheesecake']
s = re.compile('custard')

我希望能够获得一份清单

[2,4]

这是两个custard字符串的索引。我认为下面的问题会有所帮助,但我无法弄清楚如何在这里应用它。

Python equivalent of which() in R

1 个答案:

答案 0 :(得分:9)

>>> import re
>>> a = ['rhubarb','plain custard','jam','vanilla custard','pie','cheesecake']
>>> [i for i, s in enumerate(a, start=1) if re.search('custard', s)]
[2, 4]

注意 Python使用0索引,因此我将start=1参数添加到enumerate。在实践中,您应该不使用start=1来使用默认start=0