チェック方針レコード記述例

←前のページ トップ 次のページ→

ここでは、チェック方針レコードのさまざまな記述例を示します。

電話番号に数字とハイフン以外が入っていないかチェックする

対象テキスト例

住所:東京都足立区千住3-6
電話番号:03-5813-5563
社名:多摩ソフトウエア(有)

レコード例1

BAN 電話番号:[^\n]*[^\n0-9\-]

レコード例2

SEC 電話番号:([^\n]*)
BAN [^0-9\-]+
END
検索した文字列をメッセージ中に挿入する

対象テキストは上と同じとします。

レコード例1

ECHO 電話番号は <% /電話番号:([^\n]*)/.hits[0] %> です。

レコード例2

ECHO 電話番号は <% /電話番号:([^\n]*)/.hits %> です。

表示結果

電話番号は 03-5813-5563 です。
検索した文字列をメッセージ中に挿入する (複数ある場合)

対象テキスト例

総務部 TEL:03-5813-5563
経理部 TEL:03-5813-5564

レコード例

ECHO 電話番号は <% /TEL:([^\n]*)/.hitss[0] %> です。

表示結果

電話番号は 03-5813-5563,03-5813-5564 です。
よくある範囲限定方法

対象テキスト例

----
住所 ...
氏名 ...
----
住所 ...
氏名 ...
----
住所 ...
氏名 ...

ここで、「----」で区切られた各領域について「氏名」があることを確認します。

レコード例

SEC (?topl)----(?endl)(?cx:(?topl)----(?endl))*
MUST /氏名/
END
2つの数値の関係をチェックする

対象テキスト例

【請求項の数】3
【納付金額】150000円

ここで納付金額が請求項の数×50,000円になっていることを確認します。

レコード例

CHECK /【請求項の数】([0-9]+)/.hits[0].to_i * 50000 == /【納付金額】([0-9]+)/.hits[0].to_i
指定の記述が指定文字列の数と一致しているかチェックする

対象テキスト例

【請求項の数】3
【請求項1】
...
【請求項2】
...
【請求項3】
...

ここで【請求項の数】nn が文字列【請求項mの数と一致していることを確認します。

レコード例1

CHECK /【請求項[0-9]+】/.count == /【請求項の数】([0-9]+)/.hits[0].to_i

レコード例2

CHECK dsp(/【請求項[0-9]+】/.count) == dsp(/【請求項の数】([0-9]+)/.hits[0]).to_i

レコード例3

IF /【請求項[0-9]+】/.count != /【請求項の数】([0-9]+)/.hits[0].to_i
 ECHO 請求項の数が異なります
 ECHO 【請求項の数】の記述 = <% /【請求項の数】([0-9]+)/.hits[0] %>
 ECHO 実際の【請求項n】の数 = <% /【請求項[0-9]+】/.count %>
END
指定文字列中の番号が一定範囲にあるかチェックする

対象テキスト例

【請求項1】
...
【請求項2】
請求項1に記載の...
請求項2に記載の...
請求項3に記載の...
【請求項3】
...

ここで【請求項nセクション中の各 の請求項m について、mn より小さいことを確認します。

レコード例

SEC 【請求項[0-9]+】(?cx:(?topl)【)*
 LET n = /【請求項([0-9]+)】/.hits[0]
 EACH m IN /(*!【)請求項([0-9]+)/.hitss[0]
  CHECK dsp(m).to_i < n.to_i
 END
END