是否有支持PCRE的subRegex版本?

问题描述:

可能重复:
haskell regex substitution是否有支持PCRE的subRegex版本?

我需要使用subRegex,但它似乎只对POSIX正则表达式的工作。有没有什么事情可以做同样的事情,但是可以和PCRE一起工作,还是有一些我可以改变的设置,使其与PCRE一起工作?

+0

是的,你说得对。谢谢。 –

我维护这些模块。提供Text.Regex的regex-compat模块是提供我所取代的“古老”API的兼容性。

新系统,也支持正则表达式compat,有regex-base中的API。这只是定义了API,实现通常来自regex-posix,regex-pcre或regex-tdfa。正则表达式compat使用regex-posix与它保留的“古老”API一致。 regex-pcre模块自身包装PCRE。 PCRE库也由pcre-light包装。

替换和替换不包含在任何这些模块中。有太多可能的方法来存储和处理文本以满足每个人的需求。 subRegex只存在于Text.Regex中,仅仅是因为“古代”模块拥有它。 subRegex的source code使用基于regex的API,可能会针对regex-pcre后端而不是regex-posix进行调整。整个subRegex例程不到一个代码屏幕,因此,为您的需求制作一个完美版本将成为您的最佳解决方案。

注意:如果遇到regex- *包的任何问题,我会尽力帮忙。

+0

谢谢,你能帮我把它转换成PCRE吗?什么是'mkRegex'的PCRE等价物? 'matchAllText'还在工作吗? –

+3

@Chris:由于这种情况往往会时不时地出现,所以你可以在正则表达式包中添加一些文档来解决这个问题 - 也就是解释为什么不提供替换,并且提供一些样本可调整的代码让人们开始滚动他们自己的? – sclv

+0

@Nick:从regex-base API导入的所有东西对于regex-posix和regex-pcre都是一样的。区别仅仅在于后端特定的配置选项的类型和样式。 –