正则引起的性能问题及分析
'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)