パターン・マッチングの例
ここではパターンの例をいくつか示し、パターン・マッチング演算子がどのように機能するかを学習します。
-
社会保障番号の形式は、3 桁の数字、ハイフン、2 桁の数字、ハイフン、4 桁の数字です。初心者が間違いやすいパターンは、3N"-"2N"-"4N あるいは、3N1P2N1P4N です。前者はハイフン記号の指定が足りず、後者はすべての句読記号を許可しています。
-
フィートやインチなど高さの単位は、文字でも記号でも表記することができます。引用を引用符で囲む場合 (変数 ht2 とパターン)、二重引用符を使用します。
-
通常、姓は文字のみで表記されますが、記号や数を含む場合もあります。.ANP パターンは、姓もしくは姓以外の文字列も認識します (誤検出)。
-
文字列の最初の文字のみを検証したい場合、.E で終わるパターンを記述します。これは、“文字数” を表しています。
SAMPLES>set ssn = "012-34-5678"
SAMPLES>if ssn?3N1"-"2N1"-"4N write "valid"
valid
SAMPLES>set ht1 = "6 feet 2 inches", ht2 = "5' 10"""
SAMPLES>if ht1?1N1(1" feet",1"'")1" "1.2N1(1" inches",1"""") {write "valid"}
valid
SAMPLES>if ht2?1N1(1" feet",1"'")1" "1.2N1(1" inches",1"""") {write "valid"}
valid
SAMPLES>set last1 = "O'Reilly-McMahon 3rd", last2 = "/////32351abcde"
SAMPLES>if last1?.ANP {write "valid"} ; good name
valid
SAMPLES>if last2?.ANP {write "valid"} ; bad name
valid
SAMPLES>set c="InterSystems" if c?1"Inter".E {write "valid"}
valid
SAMPLES>