ここでは、チェック方針レコードのさまざまな記述例を示します。
対象テキスト例
住所:東京都足立区千住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
対象テキスト例
【請求項の数】3 【納付金額】150000円
ここで納付金額が請求項の数×50,000円になっていることを確認します。
レコード例
CHECK /【請求項の数】([0-9]+)/.hits[0].to_i * 50000 == /【納付金額】([0-9]+)/.hits[0].to_i
対象テキスト例
【請求項の数】3 【請求項1】 ... 【請求項2】 ... 【請求項3】 ...
ここで【請求項の数】n の n が文字列【請求項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 について、m が n より小さいことを確認します。
レコード例
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