如何在ruby中获得多个字符串的精确字符串匹配

时间:2014-10-19 16:02:40

标签: ruby-on-rails ruby regex

我是ruby的新手,我正在使用ruby正则表达式来进行基于主机的声明,我正在尝试编写一个正则表达式来匹配服务器与web或dev或soa在主机名结尾但是当我尝试puppet干运行时我来了要知道我的服务器atl-dum-db01在这个正则表达式中也是匹配的。下面是我的问题的输出

2.1.2 :123 > "^atl-dum-web01".match(/^atl-dum-[webdevsoa\d]+/)
 => #<MatchData "atl-dum-web01">
2.1.2 :124 > "^atl-dum-db01".match(/^atl-dum-[webdevsoa\d]+/)
 => #<MatchData "atl-dum-db01">

有人可以帮助我,抱歉我的英文不好

提前致谢=)

1 个答案:

答案 0 :(得分:2)

你使用字符类是错误的。在字符类内部没有组,每个字符都是单独匹配的。

你需要在你的情况下使用这个正则表达式:

/^atl-dum-(web|dev|soa)\d+$/