我有一个文本文件,里面包含一些数据:
...
DATA_ARRAY Some[] =
{
...
};
我有一个Python 2.7的正则表达式,如下:
regx = re.compile("^DATA_ARRAY Some\[\].*?};", re.DOTALL)
regmatch = re.search(regx, data)
print regmatch.group(0)
问题在于正则表达式没有匹配到任何内容(regmatch为None)。如果我去掉^,那么它就可以很好地匹配了。
这里我做错了什么?我想添加以行开头的搜索符号。
re.MULTILINE
:https://docs.python.org/3/library/re.html#re.MULTILINE - nanny^
匹配字符串的开头,或者在设置了re.MULTILINE
的情况下匹配行的开头。因此,根据DATA_ARRAY
是否总是在字符串的新行开头,您需要从模式中去掉插入符号或添加re.MULTILINE
参数。 - Freek Wiekmeijer