我正在尝试搜索列表以查找背靠背的任何两个数字。
import re
list1 = ["something10", "thing01", "thingy05"]
list2 = re.findall(re.match([0-1][0-9]), list1)
每当我在Python命令行中尝试上述操作时,都会出现以下错误。
IndexError: list index out of range
此错误意味着什么,我该如何解决?
答案 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))