文字列は、wcmatch 関数を使用してワイルドカード パターンと比較することができます。
この機能は、ssget を使用して動的な選択セットを作成したり、entget を使用してアプリケーション名ごとに拡張図形データを取得する必要があるときに便利です。wcmatch 関数は、1 つの文字列をパターンと比較します。文字列がパターンと一致する場合は T を返し、一致しない場合は nil を返します。ワイルドカード パターンは、多くのシステムやアプリケーション プログラムで使用されている通常の様式に似ています。
ワイルドカード パターンには、次の規則が適用されます。
次の例では、matchme という文字列変数を宣言し、初期化しています。
(setq matchme "this is a string - test1 test2 the end") "this is a string - test1 test2 the end"
次のコードは、matchme が "this" で始まるかどうかを調べます。
(wcmatch matchme "this*") T
次のコードは、パターンでの角括弧の使い方を示しています。この場合、wcmatch が T を返すのは、matchme に "test4"、"test5"、"test6" (4-6)、"test9" のいずれかが含まれている場合です( * 文字の使用に注意してください)。
(wcmatch matchme "*test[4-69]*") nil
この場合、wcmatch は nil を返します。それは、matchme にはパターンで示された文字列のいずれも含まれていないからです。しかし、パターン "test[4-61]" を使用すると、それには "test1" が含まれるので、文字列にマッチします。
(wcmatch matchme "*test[4-61]*") T
パターン文字列は、複数のパターンをカンマで区切って指定できます。次のコードが T を返すのは、matchme が "ABC" に等しい場合、または "XYZ" で始まる場合、または "end" で終わる場合です。
(wcmatch matchme "ABC,XYZ*,*end") T