08/12/21 14:43:12 QiODl+0j0
>>553
> if文のようなものを書きたいのですが良く分かりません。
考え方としては、「$TST() がif文」でいいと思います。
true, falseの判定だけでいいなら、こんな感じです。
($TST(if=true)$SET(0=ifはtrueを返しました)|$SET(0=ifはfalseを返しました))
■(注意) ローカル変数を $TST() する場合
[Patterns]
Name = "local-val if [2008/12/21] test1"
Active = TRUE
Limit = 256
Match = "$SET(0=true)($TST(0=true)$SET(1=\\0はtrueを返しました)|$SET(1=\\0はfalseを返しました))$STOP()"
Replace = "\1"
ローカル変数を $SET() しても置換処理に移るまで初期化されないので、このタイミングでは $TST() に失敗してしまいます。
# "(hoge|)\1" のようにWeb上の文字列をキャプチャした場合は即時初期化されるので、上手く動作します。
[Patterns]
Name = "global-val if [2008/12/21] test1"
Active = TRUE
Limit = 256
Match = "$SET(if=true)($TST(if=true)$SET(0=ifはtrueを返しました)|$SET(0=ifはfalseを返しました))$STOP()"
Replace = "\0"
グローバル変数を $SET() すれば期待通りに動作します。