执行正则表达式和替换列表的最佳方法是什么?

时间:2011-11-15 12:27:43

标签: ruby-on-rails ruby-on-rails-3.1

对于字段name,我有几个正则表达式,如果匹配则会对字段进行一些更改。

现在这就是我在psuedocode中所做的事情:

if (name matches regexp1)
  make change1 to name
elsif (name matches regexp2)
  make change2 to name
elsif (name matches regexp3)
  make change3 to name

我有20多个这样的事情需要检查。有没有更好的方法来编码呢?

1 个答案:

答案 0 :(得分:0)

我会这样做

change1(name) if name.match(/some_regex_one/)
change2(name) if name.match(/some_regex_two/)
change3(name) if name.match(/some_regex_three/)

通过这种方式,您仍然可以轻松扫描以查看所有20种不同的正则表达式以及随之而来的变化。

可能不是最有效的方式,但它可能是最易读的方式。