2012-05-03 51 views
0

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

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

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

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

针对

cent(er|re) 

比赛用

​​

导致正则表达式

替换匹配

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

回答

2

我个人还没有,真的想不出一个伟大的应用程序在我的头顶。我认为用regex记住重要的事情是图灵完整的想法。函数式编程语言都是完整的,因此函数式编程只是另一种逻辑上对代码进行排序的方式。当然,关于函数式编程的优点,优点和可扩展性,还有很多争论。

正则表达式,考虑到它实际上只不过是一种文本匹配语法,从功能风格中获益不大。这就是为什么使用图灵完整的语言解析器对正则表达式进行HTML解析的原因,这可能会更容易编写(如果可能的话)。