结合Regexp和值集(散列/数组)来比较字符串是否与ruby匹配

时间:2013-02-14 14:32:32

标签: ruby regex

我要检查以下模式:

"MODEL_NAME"-"ID"."FORMAT_TYPE"

其中,例如:

MODEL_NAME = [:product, :brand]
FORMAT_TYPE = [:jpg, :png]

首先,我想检查正则表达式是否类似:

/^\w+-\d+.\w+$/

我还要检查我的字符串部分是否是我的数组的一部分。我想要比以下更灵活的东西:

/^(product|brand)-\d+.(jpg|png)$/

我可以通过我的阵列管理。这样做的好方法是什么?

1 个答案:

答案 0 :(得分:3)

/^(#{MODEL_NAME.join '|'})-\d+\.(#{FORMAT_TYPE.join '|'})$/
# => /^(product|brand)-\d+\.(jpg|png)$/