给定值列表,生成RegEx以匹配这些值

时间:2016-05-19 17:49:04

标签: regex

如果给出一个值列表,是否可以生成一个与这些值匹配的RegEx模式?我见过一些网站允许你生成一个匹配单个字符串的模式,但是没有找到任何可以接受多个输入的模式。

我能想到的唯一方法就是按字符分割值,消除重复,并在括号中使用该列表作为字符组,但这看起来很麻烦,我不确定它会覆盖特殊情况字符。

示例:

值:abcd,abce,abcf,accd,adcd,aecd

RegEx将是\ a [b-e] c [d-f] \

编辑:希望避免Lucas在下面提到的XY问题的更多信息。

我们正在接收序列号和模型对的输入,并且正在进行QA以确定该对是否有效。目前的方法是我们有一个按设备模型分组的序列号列表,目前正在使用基于每个特定模型的序列号的正则表达式来进行QA。现在手动创建了reg ex。

1 个答案:

答案 0 :(得分:0)

根据型号,您有一系列可接受的连续剧:

models:
  $model1: [1##,2##,3##,4##]
  $model2: [5##,643,7##,8##]

您获得了一个序列和模型,然后测试该序列是否在该特定模型中。:

$model=$model1, $serial=643

你会创建一个以编程方式处理它的函数:

validate ->
  if $serial in models[$model]
    return True
  return False

正则表达式在哪里?你不需要正则表达式。