1

私はルビーにやや慣れておらず、大量のグーグル検索を行ってきましたが、この特定のパターンに一致する方法を理解できないようです. 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あり[]、私が行方不明になっていますか?

ご協力いただきありがとうございます。

-ウーティニ

4

2 に答える 2

2

否定先読みを使用するのはどうですか?

host-(?!bug).*

これらの厄介なバグを除くすべてに一致するRUBULAR パーマリンクを次に示します。

于 2012-09-21T03:46:44.370 に答える
1

これはあなたが探しているものですか?

host-(brd|cat|dog)

(gtgaxiola の例に従って、ここにRubular パーマリンクがあります)

于 2012-09-21T03:48:39.593 に答える