【发布时间】:2015-01-30 17:51:20
【问题描述】:
我已经在字符串中加载了这个文件:
// some preceding stuff
static char header_data[] = {
1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,
1,1,1,0,1,1,0,1,1,0,1,1,0,1,1,1,
1,1,0,1,0,1,0,1,1,0,1,0,1,0,1,1,
1,0,1,1,1,0,0,1,1,0,0,1,1,1,0,1,
0,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,
1,0,0,0,1,1,0,1,1,1,1,1,0,1,1,1,
0,1,0,0,0,1,0,0,1,1,1,1,0,0,0,0,
0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,
0,1,1,1,0,0,0,0,0,0,1,1,0,1,1,0,
0,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0,
1,1,1,0,1,1,0,0,1,1,0,0,0,1,1,1,
1,1,0,1,1,1,1,1,1,1,1,0,0,0,1,1,
1,0,1,1,1,0,0,1,1,0,0,0,0,0,1,1,
1,1,0,1,0,1,0,1,1,1,1,0,0,0,0,1,
1,1,1,0,1,1,0,1,1,0,1,1,1,1,0,1,
1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1
};
我只想获取带有 1 和 0 的块,然后以某种方式对其进行处理。
我导入了re,试过了:
In [11]: re.search('static char header_data(.*);', src, flags=re.M)
In [12]: re.findall('static char header_data(.*);', src, flags=re.M)
Out[12]: []
为什么它不匹配任何东西?如何解决这个问题? (是python3)
【问题讨论】:
-
想想我的答案中的非贪婪匹配。否则,您将匹配多个 parethis 部分。但这取决于您的源文件的外观。
-
@wenzul 实际上它是文件中的最后一个大括号,但为了安全起见,我会添加它。
-
@wenzul 我拒绝了您的编辑,因为它根本没有改进它。当我遇到这个问题时,我几乎用谷歌搜索了我现在标题中的内容——这样人们很容易找到它。