外部 REXX 関数でのピクチャー・ストリングと正規表現の使用

ピクチャー・ストリングは、変更処理を実行する関数の検索値と置換値、および包含処理を実行する関数の検索値に対してサポートされています。正規表現は、変更処理と包含処理を実行する関数の検索値に対してサポートされています。

1. 関数での正規表現とピクチャー・ストリング
関数 正規表現 ピクチャー・ストリング
CHANGE 前回の値 古い値と新しい値
CHG_OUT 前回の値 古い値と新しい値
CHG_VAR 前回の値 古い値と新しい値
CMP_DATE contains 演算子の値 contains 演算子の値
CONTAINS Needle の値 Needle の値
FLD_CO Needle の値 Needle の値
FLDI contains 演算子の値 contains 演算子の値
FLDO contains 演算子の値 contains 演算子の値
TESTC contains 演算子の値 contains 演算子の値
TFLD contains 演算子の値 contains 演算子の値
ピクチャー・ストリングの指定
ピクチャー・ストリングを指定する際のルールについては、「CHANGE/CX 基本コマンド」を参照してください (string1 および string2)。これらの値は、代替引用符で囲む必要があります。「」を参照してください。
正規表現の指定
正規表現を指定する際のルールについては、「CHANGE/CX 基本コマンド」を参照してください (string1)。この値は、代替引用符で囲む必要があります。「」を参照してください。
注:
正規表現の解釈に使用される CCSID 値は次のとおりです。
  1. TSO/ISPF および CICS では、関連付けられた端末 CCSID が使用されます。
  2. バッチの場合、‘$$FILEM SET CCSID=nnnnn 値が指定された場合に使用されます。CCSID ステートメントがない場合は、CCSID のインストール・オプションが使用されます。

例 1: ピクチャー・ストリングで CHG_OUT を使用して出力レコードを大文字にします。
CHG_OUT("P'<'","P'>'",0)
例 2: 正規表現を使用して、JCL からすべての「,BLKSIZE=number」を削除します。
CHG_OUT("RC',BLKSIZE=[0-9]{1,5}'RC","’’",0,,,' ') 
例 3: 列 1 ~ 60 で「Hat」または「Mat」と「Line」または「Lane」を含むレコードを検索します。
IF FLDI(1,60,,'ACO',"RC'[HM]at'","RC'L[ai]ne'") then
    OVLY_OUT('Found Hat or Mat and Line or Lane',60)
例 4: 123 または 124 で終わる 7 桁のシリアル番号を含むレコードを検索します。
IF FLD_CO(,,,”p'SN####123'”,”p'SN####124'”) Then Return 'PROCESS'