在给定模式之后匹配符号之间的模式

时间:2012-04-02 18:23:21

标签: python regex search pattern-matching

我想找到第一次出现的字符串,在某个其他字符串之后,以及某个模式之间。我正在解析的文档不是xml,但具有类似的开始/结束规则。以及我将要看的内容的例子:

...b.filext", "{xxxxx-xxx-xxx-xxx-xxxxxxxxxxx}"

我试图在每次在文档中发生vcxproj之后立即在{和}之间获取字符串。 我尝试了以下内容,但是我得到了一个无名单:

my_list=[]
for line in text.split('.vcxproj'):
    if '{' in line: 
        my_list.append(re.match( r"(?<=\{)(.*?)(?=\})", line))

我试图改变我的表情,但没有成功。救命 ?谢谢。

2 个答案:

答案 0 :(得分:2)

re.match仅匹配字符串的开头。试试re.search。或者,将循环替换为re.findall

答案 1 :(得分:1)

怎么样:

    re.findall(r"vcxproj.*?\{(.*?)\}", text)