我正在尝试提出一个 GNU 扩展正则表达式来检测一串 ascii 编码位中的重复子字符串。我有一个有效的表达方式——有点。问题是当给定一个可能有很多解决方案的字符串时,它的执行速度非常慢
表达方式
([01]+)(\1)+
编译速度很快,但对字符串执行大约需要一分钟
1010101010101010101010101010101010101010101010101010101010
我正在使用 glibc 2.5-49 中的正则表达式实现(CentOS 5.5 附带。)
FWIW,pcre 库执行得很快,就像直接在 gregexp 或 perl 中一样。所以显而易见但错误的答案是“使用 libpcre”。我不能轻易地在我的项目中引入新的依赖项。我需要在 CentOS/RHEL 附带的标准 C 库中工作。