0

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

在正则表达式的世界中是否有与此等价的东西?在正则表达式上运行以返回不同正则表达式的正则表达式?

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

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

比赛对阵

cent(er|re)

将比赛替换为

calib

导致正则表达式

calib(er|re)

有没有人看到这个在任何地方使用?谁能想到这会有用的情况?

4

1 回答 1

2

我个人没有,也真的想不出一个很棒的应用程序。我认为使用正则表达式要记住的重要一点是图灵完备的想法。函数式编程语言都是图灵完备的,因此函数式编程只是逻辑排序代码的另一种方式。当然,关于函数编程的优点、好处和可扩展性有很多争论。

鉴于正则表达式实际上只不过是一种文本匹配语法,因此无法从函数式样式中获得真正的好处。这就是为什么使用图灵完整的语言解析器而不是正则表达式来解析 HTML 的原因,这可以说是更容易编写(如果可能的话)。

于 2012-05-03T16:25:19.340 回答