Regex Ruby Puppet正则表达式字符串匹配
我对ruby有点陌生,已经做了大量的google搜索,但似乎不知道如何匹配这个特定的模式。我用过,但似乎找不到简单的匹配方法。以下是我想做的: 我有几种类型的主机,它们采用以下形式: 示例主机组Regex Ruby Puppet正则表达式字符串匹配,regex,case,puppet,Regex,Case,Puppet,我对ruby有点陌生,已经做了大量的google搜索,但似乎不知道如何匹配这个特定的模式。我用过,但似乎找不到简单的匹配方法。以下是我想做的: 我有几种类型的主机,它们采用以下形式: 示例主机组 host-brd0000.localdomain host-cat0000.localdomain host-dog0000.localdomain host-bug0000.localdomain 接下来我有一个案例陈述,我想把bug排除在外(谁不对?)。我想做一些类似的事情来匹配一系列的角色。但是
host-brd0000.localdomain
host-cat0000.localdomain
host-dog0000.localdomain
host-bug0000.localdomain
接下来我有一个案例陈述,我想把bug排除在外(谁不对?)。我想做一些类似的事情来匹配一系列的角色。但是,它从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]
的事情,但它看起来不太干净,而且会匹配一些我不想要的“坏”、“cot”、“dat”和“crt”之类的废话
是否有一种巧妙的方法来使用我缺少的\a
和[]
谢谢你的帮助
-wootini使用负前瞻怎么样
host-(?!bug).*
这里是匹配的一切,除了那些讨厌的臭虫这就是你要找的吗
host-(brd|cat|dog)
(以下是gtgaxiola的例子)非常感谢,是的,这正是我想要的。这对其他一些案例很有帮助,也很感激,但这并不完全是我需要的,因为接下来可能会介绍老鼠和蜘蛛!