Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

パターン・マッチングの例

ここではパターンの例をいくつか示し、パターン・マッチング演算子がどのように機能するかを学習します。

  • 社会保障番号の形式は、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>
FeedbackOpens in a new tab