正则引起的性能问题及分析

'Mozilla/5.0 (Linux; Android 11; GM1910 Build/RKQ1.201022.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/87.0.4280.141 Mobile Safari/537.36 Weibo (OnePlus-GM1910__weibo__12.4.3__android__android11)'.match(/__weibo__(\d+?.\d+?.\d+)(_*\w*)*__(.+)?__/)

这段代码执行需要耗时1-2s

由于(_*\w*)*贪婪匹配  导致执行几万次匹配,所以导致性能会有问题。

分析工具:The Regular Expression Visualizer, Simulator & Cross-Compiler Tool (robertelder.org)

 

posted @ 2022-05-07 19:29  dnoyeb  阅读(64)  评论(0编辑  收藏  举报