09/05/09 11:45:05 2QqbZ0igP
>>701
ソース:ABCDE 検索語句:(E|D|C|B|A) とした場合、マッチする順番はE,D,C,B,AじゃなくてA,B,C,D,Eの順にマッチする。
つまり、検索語句の順にEを探して、Dを探してとやっていくんじゃなくてソースの最初の文字から順番に見ていくから
(A(変数使う)|C(変数セット))としてもAがマッチする時にCはまだマッチしてないから変数には何も入ってない。
フィルタを2つに分けてもフィルタごとに1回ずつ上から下までソースをチェックするんじゃなくて
一回で(フィルタ1の内容|フィルタ2の内容|フィルタ3の内容)(番号はフィルタの並び)みたいにして検索していくから同じになる。(多分)
否定表現使えばマッチ消費しないからlimitを超えない限りは後ろを検索して変数に入れてから前の方で使うみたいなこともできる。
あとはjavascriptを使って書き換えたりもできる。>>486に同じような質問があるので読むといいかも。