防止正则匹配导致网页死掉的方法
原则:无法防止正则引擎崩溃,只能考虑优化正则表达式本身,防止崩溃或匹配被嵌套。
是要从正则表达式本身考虑优化的,所以只能具体问题具体分析
1、尽量少用非贪婪模式
2、尽量少用匹配范围过大的元字符,如小数点
3、减少量词嵌套,尤其是不定量词的嵌套,会存在无限循环匹配的可能,楼主的下一详细页地址表达式就存在这一问题
不过要解决第三个问题,在.HNET中可以使用RegexOptions.RightToLeft参数,或是使用$结合贪婪模式限定,不需要把前面的a标签也匹配进去