Python正则表达式:查找与特定(变量定义)长度不匹配的输入

时间:2014-11-11 17:21:49

标签: python regex

我在Python中编写正则表达式,但我一直遇到这个问题:

TypeError: 'int' object is not iterable. 

我的正则表达式:

searchResults = (re.findall("[0-9]{"+re.escape(columns)"}",content))

我的变量列是另一个正则表达式的集合(len(..))的第一个元素的长度。 当我使用正常数字时它就可以了。 当我尝试打印(列)时,我也看到了正常的数字。

感谢您的帮助!

内容示例:

111111111111
100111011101
180101020111
1001010000112
101610170051
150100111001
101100111101
100010000111
100000801111
100081010111
111111111111

列的示例:12

结果我试图得到这一行(没有12个数字):1001010000112

1 个答案:

答案 0 :(得分:1)

如果要过滤不匹配特定长度的字符串,以下操作将起到作用:

re.findall('(^[0-9]{0,%d}$|[0-9]{%d}[0-9])' % (columns, columns), s)