我对 ruby 有点陌生,并且已经进行了大量的谷歌搜索,但似乎无法弄清楚如何匹配这个特定的模式。我使用了 rubular.com,似乎找不到简单的匹配方法。这是我正在尝试做的事情:
我有几种类型的主机,它们采用这种形式:
示例主机组
host-brd0000.localdomain
host-cat0000.localdomain
host-dog0000.localdomain
host-bug0000.localdomain
接下来我有一个案例陈述,我想排除错误(谁不正确?)。我想做这样的事情来匹配一系列字符。但是,它从 host-b、host-c、host-d 开始匹配,并且只匹配一个字符,就像我做了[brdcatdog]
.
case $hostgroups { #variable takes the host string up to where the numbers begin
# animals to keep
/host-[["brd"],["cat"],["dog"]]/: {
file {"/usr/bin/petstore-friends.sh":
owner => petstore,
group => petstore,
mode => 755,
source => "puppet:///modules/petstore-friends.sh.$hostgroups",
}
}
我可以做类似的事情,[bcd][rao][dtg]
但它看起来不是很干净,并且会匹配我不想要的诸如“bad”“cot”“dat”“crt”之类的废话。
有没有一种巧妙的使用方式\A
而[]
我错过了?
谢谢你的帮助。
-伍蒂尼