PCRE查找所有可能的匹配值

时间:2010-06-27 04:11:10

标签: php regex pcre

我在PHP中使用PCRE,我需要找到一种生成所有可能匹配值的数组的方法。有什么想法吗?

例如,如果我有R[2-9]{1}我想要:

R2
R3
R4
R5
R6
R7
R8
R9

1 个答案:

答案 0 :(得分:1)

PCRE无法根据正则表达式生成示例字符串。我不知道有哪个PHP库。可以执行此操作的库通常仅支持有限的正则表达式,并且需要对R[2-9]*等可以匹配无限数量字符串的正则表达式进行人为限制。

如果您只需要为R[2-9]之类的非常简单的正则表达式执行此操作,那么它应该不会很难:

  • 在您自己的代码中解析正则表达式以生成示例值,或使用其他机制。
  • 或者使用您自己的机制来指定“R后跟2到9之间的数字”,然后您的代码就可以生成正则表达式和样本值列表。
  • 或者,如果正则表达式在源代码中是硬编码的,那么只需手动输入值列表。