簡體   English   中英

如何加速 CSS 文件中的正則表達式 findall

[英]How to speed up regex findall in a CSS file

我正在使用正則表達式來查找 CSS 文件中的所有選擇器,有時它會加載幾分鍾。 查看文件后,我發現 sourceMappingURL 非常大並導致問題:

sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndvb2QuZnVsbC5taW4uY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJpQkFFQSw4QkFBOEIsU0FBUyxPQUFPLGlCQUFpQixPQUFPLEtBQUssb0JBQW9CLEtBQUssUUFBUSxPQUFPLEVBQUUsU0FBUyxtQkFBbUIsSUFBSSxRQUFRLFdBQVcsT0FBTyxvQkFBb0IsNEJBQTRCLE9BTyxL...

這是完整的 CSS 文件: https : //jsfiddle.net/jj_jaq/32d7hpc0/3/

這是我的正則表達式:

selectors = re.findall(r'([.#\w][-\w,\s.]+)(\{(.*?)\})', content)

有沒有辦法加快我的正則表達式?

您可以告訴正則表達式引擎將匹配錨定在左側單詞邊界處。 但是,僅添加\\b將不起作用,因為您要匹配的第一個字符也可以是. #是非單詞字符。

[.#]?\b([-\w,\s.]+){([^{}]*)}

看到正則表達式演示在哪里[.#]? 匹配一個可選的. #在單詞邊界檢查之前。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM