摘要:
常识性优化 1、避免重新编译 编译和定义正则表达式的次数应尽可能的少。 2、使用非捕获型括号 如果不需要引用括号内的文本,请使用非捕获型括号(?:...)。这样不但能节省捕获的时间,而且会减少回溯使用的状态的数量,从两方面提高速度。而且能够进一步的优化,例如消除务必要括号。 3、不要滥用括号 在需要的时候使用括号,在其他时候使用括号会阻止某些优化措施。除非你需要知道.*匹配的最后一个字符,否则请不要使用(.*)。 4、不要滥用字符组 例如 ^.*[:] 这样会付出处理字符组的代价,而实际上这个式子并需不要用到字符组提供的多字符匹配功能,我认为,当一个字符是元字符时例如 . 或 ... 阅读全文