---------------------------------------------------------------------
Google: High Light
---------------------------------------------------------------------
概要
Google検索に、以下の機能を追加します。
・検索ワードのハイライト化 (最大7つの単語まで)
・Google検索結果のタイトルを「Google検索: 検索ワード」という形式に置換
仕様
・検索ワードは、半角スペース()|:*% 及び、接頭語の -+~ を除いた単語として解釈されます
・「Web検索, イメージ検索, ニュース検索, グループ検索, ディレクトリ検索」に対応
・「フレーズ検索」に対応
・「アスタリスク」に対応
・「****:」に対応
・「類語検索」に対応
・AND検索で全角空白を解釈しません (備考参照)
・Shift_JIS, ISO-2022-JP のダメ文字問題があります (備考参照)
更新履歴
2008/07/19
- の検索語もハイライトするようにした (Googleの仕様変更に対応)
2006/12/03
- 例外処理を $TST(\0=(^?)) から (^?) に変更 ( $NEST を使用しているので、この処理は不要かもしれません)
- Windows2000, Vista で文字化けする問題を修正 (thx 817氏)
# 置換スタックを出力する際に文字化けすることがあるようです。\@ をグローバル変数に $SET すれば回避できます。
2006/10/26
- ブロックリストに「Googleブログ検索」を追加
2006/06/04
- URLマッチに "Google Add Link" で使われていたブロックリストを取り込み
- Googleイメージ検索(JS版)で誤爆するため、クオートをシングルクオートに変更
- 高速化のため、"?+" から "*" へと表現を変更
2006/03/10
- の接頭語「Google 検索 - 」を厳密にチェックするように
2006/02/25
- GoogleローカルをURLマッチに追加
- Googleニュースでカスタマイズした検索結果に対応 (ハイライトする場所が場所なので、ハイライトしない方が良いかもしれませんが)
- 検索ワード以外と認識する文字を追加 ( !<=>?@ )
2006/01/19
- Word1 Word2 を2つの単語として解釈するように変更
- フレーズ検索で「フレーズとしての単語」「スペース区切りの単語」の両方の単語を認識するように変更
- 部分一致に対応 (文字数: 検索ワード < サーチした文字列)
使い方
1. "GoogleSearch.txt" をProxomitronのListファイルのあるフォルダへコピー
2. 下記をクリップボードにコピー
3. Proxomitron起動
4. [Webページ] のリスト内の任意の場所で右クリック
5. [フィルタをクリップボードからインポート]
---------------------------------------------------------------------
[Blocklists]
List.GoogleSearch = "..\Lists\GoogleSearch.txt"
[Patterns]
Name = "Google: High Light 1 [2006/06/04]"
Active = TRUE
URL = "$TYPE(htm)$LST(GoogleSearch)"
Limit = 256
Match = "$NEST(,"
"(Google\s([^ :-]+{1,*})\0(\s-\s|\s[^ :-]+\s-\s|:\s)|)("
"[ !%(-*:<-@|]+[~+-]+"
"(\"\1\" ($TST(\1=*[ !%(-*:<-@|]*)$SET(#=\1 )|)|"
"([^ !%(-*:<-@|]+)\1)[ !%(-*:<-@|]+"
"((^-\sGoogle\s)[~+-]+"
"(\"\2\" ($TST(\2=*[ !%(-*:<-@|]*)$SET(#=\2 )|)|"
"([^ !%(-*:<-@|]+)\2)[ !%(-*:<-@|]+|)"
"((^-\sGoogle\s)[~+-]+"
"(\"\3\" ($TST(\3=*[ !%(-*:<-@|]*)$SET(#=\3 )|)|"
"([^ !%(-*:<-@|]+)\3)[ !%(-*:<-@|]+|)"
"((^-\sGoogle\s)[~+-]+"
"(\"\4\" ($TST(\4=*[ !%(-*:<-@|]*)$SET(#=\4 )|)|"
"([^ !%(-*:<-@|]+)\4)[ !%(-*:<-@|]+|)"
"((^-\sGoogle\s)[~+-]+"
"(\"\5\" ($TST(\5=*[ !%(-*:<-@|]*)$SET(#=\5 )|)|"
"([^ !%(-*:<-@|]+)\5)[ !%(-*:<-@|]+|)"
"((^-\sGoogle\s)[~+-]+"
"(\"\6\" ($TST(\6=*[ !%(-*:<-@|]*)$SET(#=\6 )|)|"
"([^ !%(-*:<-@|]+)\6)[ !%(-*:<-@|]+|)"
"((^-\sGoogle\s)[~+-]+"
"(\"\7\" ($TST(\7=*[ !%(-*:<-@|]*)$SET(#=\7 )|)|"
"([^ !%(-*:<-@|]+)\7)[ !%(-*:<-@|]+|)"
"((^-\sGoogle\s)?)+)\9"
"(-\sGoogle\s([^ ]+)\0 |)"
",)"
"$SET(Temp=\@)"
"$SET(Key1=\1)$SET(1=)$SET(Key2=\2)$SET(2=)"
"$SET(Key3=\3)$SET(3=)$SET(Key4=\4)$SET(4=)"
"$SET(Key5=\5)$SET(5=)$SET(Key6=\6)$SET(6=)"
"$SET(Key7=\7)$SET(7=)"
""
"($TST(Temp="
"[ !%(-*:<-@|]+([^ !%(-*:<-@|]+)\1[ !%(-*:<-@|]+"
"(([^ !%(-*:<-@|]+)\2[ !%(-*:<-@|]+|)"
"(([^ !%(-*:<-@|]+)\3[ !%(-*:<-@|]+|)"
"(([^ !%(-*:<-@|]+)\4[ !%(-*:<-@|]+|)"
"(([^ !%(-*:<-@|]+)\5[ !%(-*:<-@|]+|)"
"(([^ !%(-*:<-@|]+)\6[ !%(-*:<-@|]+|)"
"*)"
"$SET(Temp=)"
""
"((^$TST(Key2=?*))"
"$SET(Key2=\1)$SET(Key3=\2)$SET(Key4=\3)$SET(Key5=\4)$SET(Key6=\5)$SET(Key7=\6)|"
"(^$TST(Key3=?*))"
"$SET(Key3=\1)$SET(Key4=\2)$SET(Key5=\3)$SET(Key6=\4)$SET(Key7=\5)|"
"(^$TST(Key4=?*))"
"$SET(Key4=\1)$SET(Key5=\2)$SET(Key6=\3)$SET(Key7=\4)|"
"(^$TST(Key5=?*))"
"$SET(Key5=\1)$SET(Key6=\2)$SET(Key7=\3)|"
"(^$TST(Key6=?*))"
"$SET(Key6=\1)$SET(Key7=\2)|"
"(^$TST(Key7=?*))"
"$SET(Key7=\1)"
")|)"
"$STOP()"
Replace = "Google\0: \9"
Name = "Google: High Light 2 [2008/07/19]"
Active = TRUE
URL = "$TYPE(htm)$LST(GoogleSearch)"
Limit = 256
Match = "(($NEST((^...| ),([^<]+)\0,)|$NEST((^...| ),([^<]+)\0,))"
"(
| />) $SET(Temp=$GET(Temp)\0)|"
"\s $SET(Temp=$GET(Temp)\0 )|"
"$SET(Temp=$GET(Temp)\0))\9"
")++{1,*}"
""
"($TST(Temp=("
"($TST(Key1))\1"
"$SET(#=\1)|"
"($TST(Key2))\2"
"$SET(#=\2)|"
"($TST(Key3))\3"
"$SET(#=\3)|"
"($TST(Key4))\4"
"$SET(#=\4)|"
"($TST(Key5))\5"
"$SET(#=\5)|"
"($TST(Key6))\6"
"$SET(#=\6)|"
"($TST(Key7))\7"
"$SET(#=\7)|"
"(\s)\#)+{1,*}"
"((^(^?))(((^$TST(Key1)|$TST(Key2)|$TST(Key3)|$TST(Key4)|$TST(Key5)|$TST(Key6)|$TST(Key7))?)+{1,*})\8"
"$SET(#=\8)("
"($TST(Key1))\1"
"$SET(#=\1)|"
"($TST(Key2))\2"
"$SET(#=\2)|"
"($TST(Key3))\3"
"$SET(#=\3)|"
"($TST(Key4))\4"
"$SET(#=\4)|"
"($TST(Key5))\5"
"$SET(#=\5)|"
"($TST(Key6))\6"
"$SET(#=\6)|"
"($TST(Key7))\7"
"$SET(#=\7)|"
"(\s)\#)+|))|"
"(^<(b>|em>|strong>))$SET(Temp=)(^?))"
"$SET(Temp=\@)"
Replace = "$GET(Temp)$SET(Temp=)\9"
# JavaScript版ハイライト(テスト版)
#
# 「Google: High Light 1」と併用して動作します。
# Googleイメージ検索(JavaScript版) に対応させるために、作ってみました。
# 「大文字/小文字」を区別してしまう不具合を持っています。
[Patterns]
Name = "Google: High Light [js] [2007/06/08] test2"
Active = TRUE
URL = "$TYPE(htm)$LST(GoogleSearch)"
Limit = 8
Match = "(^(^