高阶正则表达式

时间:2012-05-03 16:20:30

标签: regex higher-order-functions

在阅读函数式编程时,我偶然发现了高阶函数的概念,据我所知,函数将函数作为参数和/或返回函数作为结果。

正则表达式世界中是否存在相同的含义?正则表达式在正则表达式上运行以返回不同的正则表达式?

一个简单(但没用)的例子是:

(\w)+(?=\(er\|re\))

匹配
cent(er|re)

替换匹配
calib

导致正则表达式

calib(er|re)

有没有人看到过这个用过的地方?任何人都可以想到这会有用的情况吗?

1 个答案:

答案 0 :(得分:2)

我个人没有,而且真的想不出一个很棒的应用程序。我认为用正则表达式记住的重要一点是图灵完成的想法。函数式编程语言都是完整的,因此函数式编程只是逻辑顺序代码的另一种方式。对于函数式编程的优点和优点以及可伸缩性,我们有很多论据。

正则表达式,鉴于它实际上只是一个文本匹配语法,没有从功能样式中获得真正的好处。这就是使用图灵完整语言解析器在正则表达式上解析HTML的原因,这可以说是更容易编写(如果可能的话)。