在列表中搜索特定字符的出现次数

时间:2015-01-23 03:31:12

标签: python regex list match

我正在尝试搜索列表以查找背靠背的任何两个数字。

import re
list1 = ["something10", "thing01", "thingy05"]
list2 = re.findall(re.match([0-1][0-9]), list1)

每当我在Python命令行中尝试上述操作时,都会出现以下错误。

IndexError: list index out of range

此错误意味着什么,我该如何解决?

1 个答案:

答案 0 :(得分:1)

re.findall采用模式(或编译的RE)作为第一个arg,一个字符串作为第二个arg。您在两者时失败了! - )

re.match返回一个匹配对象或None - 两者都不能作为re.findall的参数!只需在那里传递r'[0-1][0-9]'模式。

第二个arg需要是一个字符串,而不是一个列表,所以,使用一个循环......:

list2 = []
for astring in list1:
    list2.extend(re.findall(r'[0-1][0-9]', astring))