Loading
instrrev (部分文字列の逆向き検索)
形式
instrrev( $src, $findstr, $start, $pos)
引数
- $src: 文字列
- $findstr: 検索文字列
- $start: 開始位置(バイト)(省略可)
- $pos: 結果(バイト)
完了時の動作
- 文字列が見つかった場合:次の述語を実行に移ります。
- 文字列が見つからなかった場合:バックトラックします。
バックトラック時の動作
- 常にバックトラックします。前の述語にバックトラックします。
説明
$srcで指定された文字列から$findstrで指定された文字列を検索します。
instrと異なり、検索は文字列の終端から先頭に向かって行われます。
結果の位置は、$pos(バイト単位)に格納されます。検索開始位置を$start(バイト単位)で指定することもできます(指定された位置より前で検索します)。
みつからなかったらバックトラックします。
コード例 (lib/instrrev.p)
+t('This is a pen. I have the pen. I give you the pen.');
,t.instrrev('pen').prtn,next;
,prtn;
,t.instrrev('pen',30).prtn,next;
,prtn;
,t.instrrev('pen',10).prtn,next;
実行例
D:\sample\lib>adp instrrev.p
46
26
10
26
10
10
Powered by ADP.