(
(?:
(?:
(?: https?://|ftp://)
(?:
(?:(?:[-_0-9a-z.~!$&'\(\)*+,;=]|(?:\%[0-9a-f]{2}))+\.)+(?:[-_0-9a-z.~!$&'\(\)*+,;=]|(?:\%[0-9a-f]{2}))+
)
)
|
(?:
(?:
(?:[-_0-9a-z.~!$&'\(\)*+,;=]+@)?www\.(?:(?:[-_0-9a-z.~!$&'\(\)*+,;=]|(?:\%[0-9a-f]{2}))+\.)+(?:[-_0-9a-z.~!$&'\(\)*+,;=]|(?:\%[0-9a-f]{2}))+
)
)
|
(?:
(?: https?://|ftp://)
(?:
(?:\d{1,3}\.){3}\d{1,3}
)
)
)
(?:\:\d+)?
(?:
(?:
/(?:[-_0-9a-z.~!$&'\(\)*+,;=:@/?#]|(?:\%[0-9a-f]{2}))*
)
|
(?:
\?(?:[-_0-9a-z.~!$&'\(\)*+,;=:@/?#]|(?:\%[0-9a-f]{2}))+
)
|
(?:
\#(?:[-_0-9a-z.~!$&'\(\)*+,;=:@/?#]|(?:\%[0-9a-f]{2}))*
)
)?
)
pcre_exec stack overflow
经过我咨询pcre的开发组,得到了一个答案,即我采用的是prebuild binaray for windows。
而这个版本在对于递归调用的使用上,并没有支持使用heap,因此导致了这个问题。
从另外一个角度分析,使用heap作为递归,又导致了效率的降低。
因此我目前采用的做法还是修改re。
阅读(535) | 评论(0) | 转发(0) |