<p>@Alex<a href="https://stackoverflow.com/questions/3780722/regex-in-python-to-get-javadoc-style-comments-in-css/3780838#3780838">is right</a>(他从来没有?但我离题了)。如果需要比正则表达式所能提供的更具体的解析,那么最好使用自定义解析器。幸运的是,您不必重新设计(CSS解析)轮子。已经有一个现有的解决方案。在</p>
<p>我以前也遇到过类似的要求。<a href="http://cthedot.de/cssutils/" rel="nofollow noreferrer">cssutils</a>模块当时派上了用场。我刚刚刷新了我的cssutils fu,为您编写了以下代码片段:</p>
<pre><code>In [16]: import cssutils
In [17]: s = """/**thirdpartycss
* @description Used for fixing stuff
*/
.class_one {
margin: 10px;
}
#id_two {
padding: 2px;
}"""
In [26]: sheet = cssutils.parseString(s)
In [27]: sheet.cssRules
Out[27]:
[cssutils.css.CSSComment(cssText=u'/**thirdpartycss\n* @description Used for fixing stuff\n*/'),
cssutils.css.CSSStyleRule(selectorText=u'.class_one', style=u'margin: 10px'),
cssutils.css.CSSStyleRule(selectorText=u'#id_two', style=u'padding: 2px')]
In [28]: sheet.cssRules[0].cssText
Out[28]: u'/**thirdpartycss\n* @description Used for fixing stuff\n*/'
In [29]: print sheet.cssRules[0].cssText
-> print(sheet.cssRules[0].cssText)
/**thirdpartycss
* @description Used for fixing stuff
*/
</code></pre>
<p>您可以解析CSS,然后遍历<code>sheet</code>对象的<code>cssRules</code>来查找所有的{<cd3>}实例。在</p>