大文字小文字の区別 Edit

大文字小文字は区別されない。 [%HH]で指定しても区別されない。
が、[%HH]で区別可能になるパッチもある。(各バージョンの違い#v4-5june338参照)

これにより、Shift_JIS等の多バイト文字も誤爆を恐れる事無く置換可能になる。 (Shift_JISには、2バイト目に、0x41〜0x7A (ASCIIにおけるa-zA-Z)を含む物がある)

メタキャラクタ Edit

メタキャラクタ = メタ文字 = 特別な意味/効果を持つ特殊な文字 ※それ以外の普通の文字と、エスケープして特別な意味を無くした文字はリテラル(literal) と呼ばれる。
メタキャラクタ以外の文字は、それ自体とマッチする。 メタキャラクタは、メタキャラクタの直前に \ を置きエスケープする事で、特殊な意味を無効にする事が出来る。

例 * = 全てにマッチ  \* = 文字「*」(0x2a)にマッチ

\ Edit

エスケープに使用する(エスケープしたい文字の前に置く)
¥ = \ = 0x5C
※環境や使用フォントによって、0x5Cはバックスラッシュ(\の半角)か、円記号(¥の半角)になる

エスケープするべき文字 Edit

全ての入力欄 でエスケープするべき文字

&|?*+[]()"'\=^$ 半角スペース

[ ] 内でエスケープするべき文字

%-]

[ ] 内の先頭でエスケープするべき文字

#

$SET 内でエスケープするべき文字

()\

?+ の直後にエスケープするべき文字

{

ブロックリストの行頭でエスケープするべき文字

# ~ 半角スペース 非ASCII文字(パッチあてればエスケープ不要)


※「半角スペース」は \s で代用可能です。
※「"= 半角スペース」はエスケープしなくても大丈夫なことが多いようです。

" Edit

"と'にマッチする。\"の様にエスケープすると、"にのみマッチ。 ["]の様に文字クラス化した場合も、"にのみマッチするので注意。

"*'は特別に用意された表現であり、

がマッチする。例えばonclick="*' が以下のどの記述にもマッチする。

onclick="alert('OK!')"
onclick="alert(\"OK!\")"
onclick='alert("OK!")'
onclick='alert(\'OK!\')'

\s Edit

1つ以上の空白文字にマッチ。空白文字とは次の文字である:

NUL(0x00) , HT(0x09) , LF(0x0A) , CR(0x0D) , SPC(0x20)

文字クラス内では使用できない。「[\s]」は「s」というアルファベットそのものにマッチしてしまうので注意。

スペースがあっても無くても良い場合は \s+ と書くことが出来る。 動作は (半角スペース) と同じだが、編集時にうっかり消してしまうことを防止出来る。

\s は文字列末尾にもマッチする。この場合、"(^?)" と同じ働きをする。

「 」(半角スペース) Edit

0個以上の空白文字にマッチ。空白文字とは次の文字である:

NUL(0x00) , HT(0x09) , LF(0x0A) , CR(0x0D) , SPC(0x20)

半角スペース一つにのみマッチさせたい場合、「[ ]」の様にする。※[ ]は0x20以外にはマッチしない

= Edit

0個以上の空白文字=0個以上の空白文字 にマッチする。(HTMLタグを処理する際=の左右のスペースを考えなくて良いので便利)
\=の様にエスケープさせると=にのみマッチする。 [=]の様に文字クラス化した場合も、=にのみマッチする。

\w Edit

空白文字と「>」を含まない0個以上の文字列にマッチ。[!-=?-%FF]++ とほぼ同じ。
文字クラス内では使用できない。「[\w]」は「w」というアルファベットそのものにマッチしてしまうので注意。
後ろの検索表現が )、 |、 &、&&、などの場合、後ろを見ないマッチングをする。
⇒ \wabc はマッチするが (\w)abc はマッチしない。

? Edit

任意の一文字(1Byte)にマッチ Perlの正規表現で言う所の「.」

* Edit

空を含む、全てにマッチ 最左最短一致、非欲張り、控えめ (non-greedy) Perl5の正規表現で言う所の「.*?」 アスタリスク

Match = "(*b)\0"
Replace = "[\0]"
対象 = "abbbbc"
結果 = "[ab][b][b][b]c"

Match = "(*b)\0c"
Replace = "[\0]"
対象 = "abbbbc"
結果 = "[abbbb]"

「?++」と「*」は全く同じではない
*は特別で、最長一致(Perl5の正規表現で言う所の「.*」)になることもある
最長一致になる条件は、検索語の最後に使われている事と思われる

例
Match = "*"
Replace = "-"
対象 = "abc"
結果 = "-"
※もしこれが、最短一致なら、結果は -a-b-c (3回マッチ)になる

&/&&で区切った場合もちゃんと最後に置いたと認識される
Match = "abc* & abcde"
Replace = "-"
対象 = "abcdef"
結果 = "-"

※検索語の最後にコマンド($SETや$URLなど)を置いた場合、最後に置いたと認識されないのか、最短一致のままで動作する

Match = "*$URL(?)"
Replace = "-"
対象 = "abc"
結果 = "-a-b-c" (3回マッチ)

※※しかし、 \0$URL(?) だと最長一致になる。\0-9# でも同じ。\0-9# は検索語の最後にコマンドがあっても最長一致になる。参考:掲示板/1
これは、* の方がおかしな動作をしている(バグ?)といえそうである。

また、どうやら微妙なバグ(仕様?)もある様子
Match = "?*$URL(*)"
Replace = "-"
対象 = "abc"
結果 = "--c" (2回マッチ)
※「?*」の * を \0-9# に置換すると、結果は「-」の1回マッチになる

Match = "??++$URL(*)"
Replace = "-"
対象 = "abc"
結果 = "---" (3回マッチ)

*\0-9# の後に対象を消費しない物(ゼロ幅の否定・肯定文)がある場合は、* は最長一致として動作する様子。
Match = "?*((^(^?))|(^?)|comment)"
Replace = "-"
対象 = "abc"
結果 = "-" (1回マッチ)

Match = "??++((^(^?))|(^?)|comment)"
Replace = "-"
対象 = "abc"
結果 = "---" (3回マッチ)

最左最短で、マッチの開始位置の変更はしてくれないので、

Match = "もな*ぎこ"
Replace = "Zぞぬ"
は
「もなふっさ
もなぎこ」
の2行全てを「Zぞぬ」に置き換えてしまう。

()  グループ化 Edit

グループ化する。 繰り返し表現や、 ^ | & && 等と併用する。 また、変数への取り込みにも使用される。

[]  文字クラス化 Edit

文字クラス(文字のセット)化する。

例
[/.:] / . : のどれか1文字にマッチ
["&*?|] " & * ? | のどれか1文字にマッチ

このようなメタキャラクタはエスケープの必要が無い。

[abd] A , B , D , a , b , d のどれか1文字にマッチ

テストされる文字は一旦小文字に直されるため、大文字小文字の区別無くマッチ

[2-6] 2 , 3 , 4 , 5 , 6 のどれか1文字にマッチ

「-」でASCII順の範囲指定。「-」そのものにマッチさせる時は[%2d]と書くか、[-abc]や[abc-]のように最初か最後に置くか[0\-9]のようにエスケープする。

[c-G] C , D , E , F , G , c , d , e , f , g のどれか1文字にマッチ

c(0x63)〜G(0x47) という一見ありえない範囲指定だが、 []の内部も先に小文字に直されるため c(0x63)〜g(0x67) に(大文字小文字の区別無く)マッチする。[%63-%47],[c-%47],[%63-G] なども全て同じ表現になる。

[A-z] AからZ、aからz のどれか一文字にマッチ

前記の通り A(0x41)〜z(0x7A) ではなく、 a(0x61)〜z(0x7A) に(大文字小文字の区別無く)マッチする。よって \(0x5C) , `(0x60) などにはマッチしない。

[^0-9a-z] 0から9、AからZ、aからz 以外の一文字にマッチ

先頭に「^」で否定を表す。「^」そのものにマッチさせる時は[%5e]と書くか先頭以外に置けばよい。

[\]\\] ] , \ のどちらか一文字にマッチ

この2つはエスケープが必須

[\t\n\r] HT(0x09) , LF(0x0A) , CR(0x0D) のどれか一文字にマッチ
[あ] [%82%a0]と同義。

"あ"にはマッチしない。[]はあくまで1byteの文字列にマッチする。

[アイウエオ] Shift_JISの ア , イ , ウ , エ , オ のどれか一文字にマッチする

半角カナは上手くいく。

[0-9#%ff] 0から9、#、0xff のどれか一文字にマッチ
[#%ff0-9] これは SyntaxErrorになる。 理由は下記。

「[#」の様に、文字クラスの最初が # の場合、# の次は半角数字でなければエラーになる。 [#n:m]として処理してしまう為らしい。

例
[#a]  SyntaxError
[\#a] OK(a,# の文字クラス)
[a#]  OK(a,# の文字クラス)
[#1a] OK(※文字クラスではない 00001 等の数字の1に一致 a には一致しない [#n:m]参照)

[%HH] Edit

入力出来ない文字にマッチさせたい場合に使用する。HHは00〜FFまでの16進数。
[%61] で a, A にマッチする。 ※こちらも参照
[%ff] で 0xff にマッチする。
Shift_JISの「あ」 = 0x82a0 = [%82][%a0] でマッチ

(例) 全角空白をエンコードすると
Shift_JIS: [%81][%40]
ISO-2022-JP: [%1B][%24][%62][%21][%21][%1B][%28][%42]
EUC-JP: [%A1][%A1]
UTF-8: [%E3][%80][%80]

JSで文字コード変換 (IE推奨) (IE以外はProxomitron用 文字コード変換を使うべし)
TAG index: URLエンコード・デコードフォーム
Google検索: URLエンコード
HTMLタグ・テスター

^ 否定  /  (^) ゼロ幅の否定先読み  /  (^(^))、(^[^]) ゼロ幅の先読み Edit

^ (0x5E) キャレット。大本か、グループ、文字クラスの始まりに置き使用すると、否定を意味する。 大本、グループの始まりに置いた場合、対象を消費しない、ゼロ幅の否定先読みになる。 2回使うと否定の否定で、対象を消費しない、ゼロ幅の肯定先読みになる。

|  または Edit

又は。大本か、グループ内で使用する。

&、&& Edit

勿論どれも最初にマッチしなければ、次を検索しない。

例1 対象 = <a href="x">a</a>
<a *>&\1    \1 = <a href="x">a</a>
<a *>&&\1   \1 = <a href="x">

例2 対象 = tttestqqq
test&\0                 \0 = testqqq
test&\0  ByteLimit = 5  \0 = testq
test&&\0                \0 = test

繰り返し表現 Edit

繰り返したい物の直後に付ける。 グループ化した物の後ろに付けると、そのグループが対象になる。

+ Edit

0回以上の繰り返し 最長一致の様だが違う、後ろを全く見ない検索 Perl5の正規表現で言う所の「(?>値*)」

例
Match = "(?+b)\0"
Replace = "[\0]"
対象 = "abbbbc"
結果 = [No Match]
「?+」が全て消費し切ってしまう為こうなる
「?+b」はPerl5で言うと「(?>.*)b」

後ろを全く見ない為、++より高速だが、注意して使ったほうが良い

(検索表現)+ 、(検索表現)++ を使った場合、(検索表現) が最短一致でマッチしない場合はfalseを返す。
⇒ ([^/]+/)+ は (*/)+ と同義。

++ Edit

0回以上の繰り返し 最左最短一致、非欲張り、控えめ (non-greedy) Perl5の正規表現で言う所の「*?」

例
Match = "(?++b)\0"
Replace = "[\0]"
対象 = "abbbbc"
結果
  4.5j, 4.5m, 4.3  [ab][b][b][b]c
  4.4  [ab][b]b[b]c
※4.4はバグが原因でtestではそう表示されるが、実際のマッチでは問題ない様子(4.3、4.5と同じ)

「?++」と「*」は全く同じではない

Match = "?++"
Replace = "-"
対象 = "abc"
結果
  4.5j, 4.5m, 4.4  -a-b-c  マッチ回数3回
  4.3  [No Match]  ※4.3は対象を消費しない場合、マッチしない

マッチの開始位置の変更はしてくれない

[Patterns]
Name = "TEST: text = abcccde  1/4  (bc+)\0"
Match = "(bc+)\0"
Replace = "[\0]"

Name = "TEST: text = abcccde  2/4  (bc++)\0"
Match = "(bc++)\0"
Replace = "[\0]"

Name = "TEST: text = abcccde  3/4  (c+d)\0"
Match = "(c+d)\0"
Replace = "[\0]"

Name = "TEST: text = abcccde  4/4  (c++d)\0"
Match = "(c++d)\0"
Replace = "[\0]"

1/4  a[bccc]de
2/4  a[b]cccde
3/4  ab[cccd]e
4/4  ab[cccd]e

4/4に注目 「最短一致」という言い方をすると、「d」になりそうな気がしてしまうが、マッチの開始位置の変更はしてくれないので、このようになる。
「最短一致」より、「最左最短一致、非欲張り、控えめ」(non-greedy) といった方が誤解がない予感。

勿論Perlでも同じ。参考:最短一致マッチで誤解しやすいこと - a geek

+{n,m} / +{n} Edit

n回以上、m回以下マッチ。 {n}はn回ちょうど、{n,*}はn回以上で上限無し。  最長一致の様だが違う、後ろを全く見ない検索 Perl5の正規表現で言う所の「(?>値{n,m}) / (?>値{n})」

例
Match = "?+{2,5}b"
対象 = "aaab"
結果 = [No Match]
「?+{2,5}」が全て消費し切ってしまう為こうなる
「?+{2,5}b」はPerl5で言うと「(?>.{2,5})b」

後ろを全く見ないので、注意して使ったほうが良い。
回数を数える為、繰り返しを表したいだけの場合は、+ を使用した方が速い。

++{n,m} / ++{n} Edit

n回以上、m回以下マッチ。 {n}はn回ちょうど、{n,*}はn回以上で上限無し。 最短一致 Perl5の正規表現で言う所の「値{n,m}? / 値{n}?」

例
Match = "?++{2,5}b"
Replace = "-"
対象 = "aaab"
結果 = "-"
「?++{2,5}b」はPerl5で言うと「.{2,5}?b」

Match = "?++{2,5}"
Replace = "-"
対象 = "aabbc"
結果 = "--c"
最短一致なのでこうなる Perl5でも同じ

[#n:m] / [#n-m] / [#n] Edit

数として処理する。 nからmまでの大きさの数にマッチ。nのみの場合、その数にマッチ。 「:」ではなく「-」でも可(古いバージョンはマイナスのみだったような気もする)。 n, m は半角数字、マイナスでも良い。*(アスタリスク)の場合、無限大になる。 絶対値ではなく、値が、[#小:大]である必要がある。  [#n:m]の直後に数字は絶対に来ない。 .(ドット、小数点)、,(カンマ、桁の区切り)は認識しない。また、.(ドット)、,(カンマ)等を無視するようにする事は出来ない。

例1 [#249:375] の場合
000000325    全てにマッチ
0000003250   後ろの250にマッチ
0000032500   マッチしない
000000325.0  .0を除きマッチ
 
例2
[#249:375]    O
[#375:249]    X
[#-375:249]   O
[#249:-375]   X
[#-375:-249]  O
[#-249:-375]  X

また、HTMLタグの値に使用される事を想定されているらしく、右か左に「"」「'」があると、それにもマッチする。
例) 「<img width=[#500:600]>」に <img width="510"> がマッチする。
\"[#100:200]\"のようにしても、""100""、"'100'"、""100'"等にマッチする。

これに繰り返し表現を付けると…
「[#249:375]+」 区切りが半角スペース、タブ、改行・・・であれば連続でマッチ そうでない場合+無しと同じ

 
バグ
[Patterns]
Name = "[#n:m] test"
Limit = 256
Match = "[0-9]+{2}&&[#20:79]&&\0"
Replace = "[$UESC(%\0)]"

テスト用文字列 = "4040"
結果 = "40[@]"
※ByteLimit = 2 を指定しても同じ結果になる

[#n:m] は && や Bounds でマッチする範囲を固定しても、その枠からはみ出て処理するためマッチしない様子
※Match の &&[#20:79] を消すと、結果は [@][@] になる
4.3, 4.4, 4.5May, 4.5June, 4.5June338, 4.5June+6 で確認

ローカル変数 / ローカル配列 Edit

ローカル=そのフィルタ(cfgファイル全体ではない)のみで使用可能

マッチと出力で使用可能 Edit

\0, \1, \2, \3, \4, \5, \6, \7, \8, \9 Edit

アスタリスクと同じで全てにマッチするが、マッチした物を自身に格納する。
格納した値は Replace 等で使用可能。

グループ化した物の後ろに付けると、そのグループにマッチした物をその変数に取り込む。

取り込み処理のみ行う場所
Match, ...
出力処理のみ行う場所
Replace, ...

Match で取り込んだ変数を同じ Match で使いたいなどという場合、$TSTを使用することになる。

URL欄で \0-9# へ代入しても、Bounds、Match、Replaceで参照すると、\0-9# は空になっている。
但し、Match欄が <start> か <end> の場合は、\0-9# は空にならない。

「\0$ALERT(\0)」は必ず空になってしまう。これは、\0 が 1Byteマッチする度に後ろを見ている = \0 が最短の0Byte(空)にマッチするかを調べた次の瞬間に $ALERT() が実行され、検索が終了してしまう為である。
「\0 & $ALERT(\0)」か「\0 && $ALERT(\0)」か「(?+)\0$ALERT(\0)」の様にすれば問題ない。
※「$SET(0=hoge)$ALERT(\0)」や「\0e$ALERT(\0)」の場合 & && は不要

\# Edit

\0-9と同じだが、連続して格納可能。Matchで\#を使い格納した値は、Replaceで\#を使うことにより一つずつ取り出して出力することが出来る。先に格納したものから取り出されるので、FIFO(First In First Out)、つまりキューである。Replaceに書かれた\#で取り出された値は、キューから取り除かれる。


\#には100回まで追加する事が出来る。
100回以降は追加されているようでされていない。(そこでマッチが止まったりはしない)

100回以降の\#への代入は、最後(100個目)の\#に代入される。

対象 = AAA...ABCDEFGHIJKLMN   ※「AAA...A」はAが98個並んだ物
Match = ((?)\#)+
\@ = AAA...ABN


$SET()で\#に代入された\0-9は、代入された時の\0-9の値ではなく、展開(出力)時の\0-9の値になる。

Name = "$SET() TEST 1/3"
Limit = 256
Match = "( (?)\0 $SET(#=\0) $ALERT(\@) )+{1,3}$STOP()"
Replace = "[\@]"

Name = "$SET() TEST 2/3"
Limit = 256
Match = "( (?)\0 & $SET(#=\0) $ALERT(\@) )+{1,3}$STOP()"
Replace = "[\@]"

Name = "$SET() TEST 3/3"
Limit = 256
Match = "( (?)\0 && $SET(#=\0) ? $ALERT(\@) )+{1,3}$STOP()"
Replace = "[\@]"

対象は全て "abc"
結果は全て "[ccc]"
アラートも全て、「a」、「bb」、「ccc」の3回

この事から、\# に \0-9 を代入した場合、その時の\0-9の値が\#に入るわけではなく、展開時にその\0-9に置き換える為の特別なフラグが\#に入ると思われる。
そして、\#/\@展開時にそのフラグが含まれていた場合、展開したその時の\0-9に置き換えられると思われる。
また、「$SET()で\0-9に代入された\#@は、代入された時の\#@の値ではなく、展開(出力)時の\#@の値になる」でもある。


Bounds か & か && と \# を組み合わせて使用すると、場合によってはバグが発生する(testでも実際のマッチでも発生する)

例
[Patterns]
Name = "TEST: Bounds + \#  <?-?>"
Bounds = "<[^>]+>"
Limit = 256
Match = "<\#-\#>"
Replace = "[\#] [\#] [\#] [\#] [\#] [\@]"

検索対象 =
<a/b>
<A-B>

結果 =
<a/b>
[] [A] [B] [] [] []
※最初の\#にゴミが入っている

検索対象2 =
<A-B>
<a/b>
<c/d>
<e/f>
<C-D>

結果2 =
[A] [B] [] [] [] []
<a/b>
<c/d>
<e/f>
[A] [B] [] [C] [D] []
※<a/b>でAが残り、<c/d>でBが残り、<e/f>で空が残る
※4.4, 4.3では、[A] [C] [D] [] [] []になる

&、&&でも同じ結果になる
[Patterns]
Name = "TEST: & + \#  <?-?>"
Limit = 5
Match = "<[^>]+>&<\#-\#>"
Replace = "[\#] [\#] [\#] [\#] [\#] [\@]"

Name = "TEST: && + \#  <?-?>"
Limit = 256
Match = "<[^>]+>&&<\#-\#>"
Replace = "[\#] [\#] [\#] [\#] [\#] [\@]"

どうも、Boundsでマッチして、Matchでも途中までマッチし、その間で\#がそのまま使用された場合、
次に検索した時には空になっているはずの最初の\#が残ってしまう様子。

幾つかの対策があります ※&/&&の場合、Boundsを&/&&の左側、Matchを&/&&の右側に置き換えてください

  1. Boundsで「$SET(0=bug fix)」の様に\0-9に何か(空以外)を代入する
  2. Matchで最初に使用される\#を()で囲む(「<\#-\#>」→「<(\#)-\#>」)
  3. Matchで最初に使用される\#をグループの直後に置く(「<\#-\#>」→「<(?)\#-\#>」)

出力のみ Edit

\@ Edit

\#に格納された物を全て結合して出力する。それぞれの値は直接結合される。一度出力するとキューは空になり、以後\#や\@を使っても何も出力されない。

グローバル変数 Edit

全フィルタ間で変数のやり取りが可能

4.5以降のみ使用可能
コマンド一覧 の$SET, $GET, $TST参照

定数 Edit

\t Edit

タブ 0x09

\r Edit

リターン=キャリッジリターン(CR) 行頭復帰 0x0d Macの改行コード

\n Edit

ニューライン=ラインフィード(LF) 改行 0x0a UNIXの改行コード (Windowsの改行コードはCRLF)

※testで改行を出力するには\r\nとする必要がある

通信毎に変わるかも知れない物 Edit

\h Edit

host
現在のURLのホスト部分 ※ポートは常に含まないので、$URLで取得した方が良い。

使われる場所によって表される値が変化するので注意。 置換テキストで使われたりIPアドレスタイプのドメインならホスト部分全てを表すが、 検索表現で使われた場合は
gTLD(www.google.com , e-words.jp等)ならセカンドレベルまで、
ccTLD(yahoo.co.jp , kantei.go.jp等)ならサードレベルまで、
を含んだ特別な検索表現になる。

www.google.com →
(([^%00-%20"'/:>\\])++.|)google.com(^[^%00-%20"'/:>\\])
yahoo.co.jp →
(([^%00-%20"'/:>\\])++.|)yahoo.co.jp(^[^%00-%20"'/:>\\])
例
url:http://www.google.com/
Match = "\h"

〇
http://[google.com]/
http://[image.google.com]:81/
"[www.yahoo.com+www.google.com]"
[例えばwww.google.com]/で検索

×
http://anothergoogle.com/
http://google.comic.com/
http://google.com@
例えばgoogle.com/で検索
例えばwww.google.comで検索

この挙動が問題となるのは、「Kill off-site Images」のようなフィルタであろう。 例えば、www.2ch.netにおいて「count.2ch.net」「image.2ch.net」をも別ホスト扱いしたい場合であるが、 これは$TST()を使うと上手くいく。

Bounds = "<img\s*>"
Match = "*\ssrc=$AV(https+://(^\h)*)*"
↓
Bounds = "<img\s*>$URL(https+//\1[:/])"
Match = "*\ssrc=$AV(https+://(^$TST(\1))*)*"

※ WEBフィルタの検索欄でマッチングに \h を使うと上記とは異なる
  マッチングをするので注意。

  geocities.co.jp のページにいるときに

  Match = "\h"


  というマッチングをさせると "co.jp" という文字列にまでマッチ
  してしまう。 つまり ccTLD には対応していない。   "www.yahoo.co.jp" などの文字列にもマッチしてしまうので
  WEBフィルタのマッチングには使わないほうが良いだろう。

< 検索欄での2バイト文字への誤爆を避ける方法 >

 (\h&&[a-z0-9_.-]+)   のように \h の中をテストをする。
 ただし \h の直前に "2バイト目が [a-z0-9_.-] な2バイト文字" があると誤爆する。

\p Edit

path
現在のURLのパス部分

\q Edit

? + query string + (# + anchor text|)
現在のURLの?含むそれ以降全て

通常、http://host/a/b/c/index.php?dd#ee の場合、クエリーストリングは「dd」のみだが、\q の場合「?dd#ee」となる。
※IE等のブラウザは通常アンカーテキストをリクエストとして送信しない。

\a Edit

# + anchor text
現在のURLの#含むそれ以降全て
※クエリーストリングが有った場合、それ以降を全て\qに持って行かれる為、リクエストにアンカーテキストが含まれていても、\aは空になる。

ちなみに、Proxomitronでは、アンカーテキスト=URLの#以降のこと だが、
他のサイトでは、アンカーテキスト=「<a href="URL">愛生会</a>」の「愛生会」の部分 と言われていることが多い。
どっちが正しいのかは不明
(JavaScriptではURLの#以降はhashと呼ばれ、RFCではfragmentと呼ばれる様子)

\u Edit

URL
現在のURL(但しリクエストされた物そのままではない) [HTTP headers]、[Patterns]、検索、置換全てで使用可能

設定で変更出来る物 Edit

\d Edit

directory
Proxomitron本体があるディレクトリのフルパス ローカルのJSファイル等を直接参照したい場合等に使用する。
「file:///D|/.../%21PROXY/PROXOMITRON/」の様な形で、URLエンコードされた物を返す。
A-Zのドライブ文字の後の文字は、4.5では「|」だが、4.3, 4.4は「:」になる。この部分は、File -> Open Local File URL(ファイル → ローカルファイル URL を開く) でも違う。

ネットワークドライブ上にある場合、 書きかけ項目です。この記事を加筆、訂正などして下さる協力者を求めています。

\x Edit

prefix
Config -> Access -> Prefix all URL commands with: (設定 → アクセス → 全てのURLコマンドの前に必要な接頭語)に設定した物を返す。

Config -> Access -> Disable URL based Proxomitron commands (設定 → アクセス → URL ベースの Proxomitron コマンドを無効にする) にチェックを入れていない場合、 勝手にURLコマンドのBypass, Bwebなどを使われないように、必ずユニークな文字列を設定しておいた方が良い。


お名前:

コメントはありません。 コメント/MatchingRules?


  複製 名前変更
QRコード(トップページのアドレス)