我想提取CSS文件的第一个注释块,如下所示:
/*
author : name
uri : link
etc
*/
不提取其他评论
/* header */
/* footer */
所以我尝试了这个:
print re.findall(r'\/\*(.*)\*\/', cssText )
除了我需要的块外,这给了我所有其他的评论。所以我把它改成了这个,更确切地说:
print re.findall(r'\/\*\n(.*)^\*\/', cssText )
结果一无所获:
[]
你有什么建议吗?谢谢: - )
答案 0 :(得分:1)
如果您只需要第一条评论,则只能使用第一个结果:
print re.findall(r'\/\*(.*)\*\/', cssText )[0]
您还可以使用re.search
搜索第一个匹配的匹配项:
print re.search(r'\/\*(.*)\*\/', cssText )
答案 1 :(得分:1)
当你匹配多行字符串时,你需要制作。匹配\ n也是:
print re.findall(r'\/\*\n(.*?)\*\/', cssText, re.S)
答案 2 :(得分:0)
你可以这样做:
css = """
/*
author : name
uri : link
etc
*/
bla bla bla. Blah blah
x: 10;
color: red;
/* header */
/* footer */
"""
import re
pat = r'\/\*([\S\s]*?)\*\/'
print re.findall(pat, css)
print re.search(pat, css).group()