【发布时间】:2013-10-26 15:38:56
【问题描述】:
请帮助我优化以下正则表达式以获得最佳性能。我已经阅读了一些文章,但这个问题应该很快解决,以减少 CPU 使用和延迟时间,所以我没有足够的时间尝试和错误。
第一个应该匹配例如
http://microsoft.com/test/temp.iso
http://download.microsoft.com/TEMP.iso
注意:
所有的网址都应该以
http://开头,所以我不知道先放^http://好不好?第一行和最后一行有特定的规则,但它们之间的行可以合并。
任何帮助表示赞赏。
refresh_pattern -i (.+\.||)(microsoft|windowsupdate).com/.*\.(cab|exe|dll|ms[i|u|f]|asf|wm[v|a]|dat|zip|iso|psf)
refresh_pattern -i (.+\.||)eset.com/.*\.(cab|exe|dll|ms[i|u|f]|asf|wm[v|a]|dat|zip|ver|nup)
refresh_pattern -i (.+\.||)avg.com/.*\.(cab|exe|dll|ms[i|u|f]|asf|wm[v|a]|dat|zip|ctf|bin|gz)
refresh_pattern -i (.+\.||)grisoft.(com|cz)/.*\.(cab|exe|dll|ms[i|u|f]|asf|wm[v|a]|dat|zip|ctf|bin|gz)
refresh_pattern -i (.+\.||)avast.com/.*\.(cab|exe|dll|ms[i|u|f]|asf|wm[v|a]|dat|zip|vpx|vpu|vpa|vpaa|def|stamp)
refresh_pattern -i (.+\.||)(kaspersky-labs|kaspersky).com/.*\.(cab|zip|exe|msi|msp|bz2|avc|kdc|klz|dif|dat|kdz|kdl|kfb)
refresh_pattern -i (.+\.||)nai.com/.*\.(gem|zip|mcs|tar|exe|)
refresh_pattern -i (.+\.||)adobe.com/.*\.(cab|aup|exe|msi|upd|msp)
refresh_pattern -i (.+\.||)symantecliveupdate.com/.*\.(zip|exe|msi)
refresh_pattern -i (.+\.||)(192\.168\.10\.34|mywebsite.com)/.*
编辑:这些正则表达式用于squid configuration
【问题讨论】:
-
这将是代码审查的东西。
-
您使用哪种语言/工具?在您的问题中提及它!有人可以提供一个好的非正则表达式解决方案!
-
由于 Omid Kosari 可能知道也可能不知道,Games Brainiac 谈到了 code-review。
-
(.+\.||)可以简化为(.+\.)?并且可能没有必要。在每个表达式中添加 EOL 锚点$可能会有所帮助。此外,为简洁起见,将所有元点转换为文字,即:转换为nai\.com -
你说得对,我不知道 Code Review 。谢谢
标签: regex performance optimization cpu-usage