为了账号安全,请及时绑定邮箱和手机立即绑定

如何加快 CSS 文件中的正则表达式 findall

如何加快 CSS 文件中的正则表达式 findall

30秒到达战场 2022-07-19 16:44:46
我正在使用正则表达式来查找 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)有没有办法加快我的正则表达式?
查看完整描述

1 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

您可以告诉正则表达式引擎将匹配锚定在左侧单词边界。但是,仅添加\b将不起作用,因为您要匹配的第一个字符也可以是 a.或非#单词字符。

利用

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

请参阅匹配可选或单词边界检查之前的正则表达式演示。[.#]?.#


查看完整回答
反对 回复 2022-07-19
  • 1 回答
  • 0 关注
  • 57 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信