Python:从css fi中提取注释

2024-06-02 18:35:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我想提取CSS文件的第一个注释块,如下所示:

/*
author : name
uri : link
etc
*/

不提取其他注释

/* header */
/* footer */

所以我试了这个:

print re.findall(r'\/\*(.*)\*\/', cssText )

这给了我所有其他的意见,除了块我需要的。所以我把它改成这样,更准确地说:

print re.findall(r'\/\*\n(.*)^\*\/', cssText )

结果一无所获:

[]

你有什么建议吗?谢谢:-)


Tags: 文件namereetclinkuricss建议
3条回答

如果只需要第一条注释,只需使用第一条结果:

print re.findall(r'\/\*(.*)\*\/', cssText )[0]

您还可以使用^{}来搜索第一个匹配的匹配项:

print re.search(r'\/\*(.*)\*\/', cssText )

您可以这样做:

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()

当您匹配多行字符串时,您需要使。也匹配\n:

print re.findall(r'\/\*\n(.*?)\*\/', cssText, re.S)

请参见: http://docs.python.org/2/library/re.html#re.S

相关问题 更多 >