有效地查询一个字符串对多个正则表达式

让我说我有10,000个正则表达式和一个字符串,我想知道,如果字符串匹配任何他们,并得到所有的匹配。
执行该操作的简单方法是仅对所有正则表达式逐个查询字符串。有更快,更有效的方法吗?

编辑:
我试着用DFA的(lex)
这里的问题是,它只会给你一个单一的模式。如果我有一个字符串“hello”和模式“[H | h] ello”和“。{0,20} ello”,DFA只会匹配其中一个,但我想让他们两个。

Martin Sulzmann在这个领域做了相当多的工作。
他有 a HackageDB project解释brefully here使用 partial derivatives似乎是为此量身定制。

所使用的语言是Haskell,因此如果这是需要,将非常难以翻译成非功能语言(我认为翻译到许多其他FP语言将仍然是相当困难的)。

代码不是基于转换为一系列自动机,然后将它们组合,而是基于对正则表达式本身的符号操作。

另外,代码是非常实验性的,马丁不再是一个教授,但是在“有酬的就业”(1),所以可能不感兴趣/无法提供任何帮助或投入。

>这是一个笑话 – 我喜欢教授,更少的聪明的人努力工作更多的机会,我有付出!

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...