05/12/04 07:24:40
>>260
[Patterns]
Name = "add title and external link [05-12-04]"
Active = TRUE
URL = "$TYPE(htm)"
Bounds = "$NEST(<a\s[^>]+>,([^<]+)\0,</a>)"
Limit = 1024
Match = "<a\s([^<]++href=$AV(([a-z]+{3,5}://(^\h)$SET(1=CLASS="externel")*|*)\2)[^>]+)\3>*"
Replace = "<!-- title add -->\r\n<a \1 target="_self" \3 target="_self" title='"\0" \(\2\)' >\0</a>"
>うまくいかないのは同一hostなら変数6にexternelを代入するという以下の部分
>$URL(URLリンク(\4))
>$TST(\u=URLリンク(\4))$SET(6=externel)
>
>それとこの部分test欄でテストできないのは何故でしょうか
$TSTの使い方が間違ってる。
$TSTのカッコ内にある \4 は * と同じ働きをする。
そして * にマッチしたものが \4 に代入される。 こういう場合は $TST(\4) と書く。
URLのテストをするときは \u でなく $URL() を使う。
$TST() は変数をテストするコマンドなので \u は変数でないためテスト出来ない。
$TST(url=URLリンク(\4)) は左辺がグローバル変数だから動いた。
しかし \4 は * と同じマッチングだから失敗。