从匹配中生成RegEx

时间:2012-08-22 06:32:50

标签: c# regex

我想从给定的匹配中生成RegEx模式 例如,我想从以下匹配数组中获取<b>\d+<\b>

<b>1</b>
<b>2</b>
<b>3</b>
<b>4</b>
<b>5</b>
...

任何想法?

2 个答案:

答案 0 :(得分:4)

工具

answer到类似问题,以下链接可以为您提供帮助:

  

txt2re :在线正则表达式生成器。

了解

如果您希望更深入地了解该主题而不是快速解决方案,则应阅读以下问题的答案: Is it possible for a computer to “learn” a regular expression by user-provided examples?

编码

如果您想自己编写快速解决方案, this answer 值得一看。

注意

如有意义的 joke 所示,请不要忘记 computers cannot read your mind ,并且可以为同一输入生成多个不同的正则表达式

答案 1 :(得分:2)

基于遗传编程(GP)的问题解决方案:Regex Generator++。 它需要一些示例作为输入,运行机器学习算法并生成与示例匹配的正则表达式作为输出。

在内部,系统试图通过进化算法解决问题,这是一种受生物进化启发的计算范式。它随机生成许多可能的候选解决方案(在这种情况下:多个正则表达式),并针对每个解决方案评估适应度量,即候选解决方案有多好的性能指标。

有不同类型的进化算法,在这种情况下(GP),解决方案被表示为抽象语法树。

您可以在here

中找到更多详细信息related papers