オミコさんでリンク元ビューワー 4

msnだけ分離した方が正確ですね。
という訳で一通り書き直し。

Name = "?D Referred Tr(msn)"
Active = TRUE
URL = "(d|diary).hatena.ne.jp/"
Bounds = "<li*</li>"
Limit = 9000
Match = "<li>\1<a href="\2">http://search\.msn\.*/*\?*q=\4(\&amp;*|)</a></li>"
Replace = "<li>\1 (msn) <a href="\2"> \4 </a></li>"

Name = "?D Referred Tr(Google&Yahoo&goo&biglobe&nifty&excite&infoseek&aol)"
Active = TRUE
URL = "(d|diary).hatena.ne.jp/"
Bounds = "<li*</li>"
Limit = 9000
Match = "<li>\1<a href="\2">http://(www|(web|cgi\.|ocn|odn|)search|so-net|dion|ocn|odn|home|apple|(aol|)search\.jp)\.(google|yahoo|goo|biglobe|nifty|excite|infoseek|aol)\3\.*/*\?*(p|q|s|MT|Text|search|qt|query)=\4(\&amp;*|)</a></li>"
Replace = "<li>\1 (\3) <a href="\2"> \4 </a></li>"

Name = "?D Referred Tr(D_Keyword_noid)"
Active = TRUE
URL = "(diary|d).hatena.ne.jp/"
Bounds = "<li*</li>"
Limit = 9000
Match = "<li>\1<a href="\2">http://(diary|d).hatena.ne.jp/keyword/\3</a></li>"
Replace = "<li>\1 (Keyword) <a href="\2">\3</a></li>"

Name = "?D Referred Tr(D_Keyword_id)"
Active = TRUE
URL = "(diary|d).hatena.ne.jp/"
Bounds = "<li*</li>"
Limit = 9000
Match = "<li>\1<a href="http://(diary|d).hatena.ne.jp/\3/keyword/\4">http://(diary|d).hatena.ne.jp/\5/keyword/\6</a></li>"
Replace = "<li>\1 (Keyword) <a href="http://a.hatena.ne.jp/\3/simple">[A]</a> <a href="http://d.hatena.ne.jp/\3/">id:\3</a> / <a href="http://d.hatena.ne.jp/keyword/\4">\6</a></li>"

Name = "?D Referred Tr(D_noD)"
Active = TRUE
URL = "(diary|d).hatena.ne.jp/"
Bounds = "<li*</li>"
Limit = 9000
Match = "<li>\1<a href="\2">http://(diary|d).hatena.ne.jp/\3/</a></li>"
Replace = "<li>\1 (Diary) <a href="http://a.hatena.ne.jp/\3/simple">[A]</a> <a href="\2">id:\3</a></li>"

Name = "?D Referred Tr(D_+D)"
Active = TRUE
URL = "(diary|d).hatena.ne.jp/"
Bounds = "<li*</li>"
Limit = 9000
Match = "<li>\1<a href="\2">http://(diary|d).hatena.ne.jp/\3/\4</a></li>"
Replace = "<li>\1 (Diary) <a href="http://a.hatena.ne.jp/\3/simple">[A]</a> <a href="http://d.hatena.ne.jp/\3/">id:\3</a> : <a href="\2">\3 / \4</a></li>"

Name = "?D Referred Tr(A)"
Active = TRUE
URL = "(diary|d).hatena.ne.jp/"
Bounds = "<li*</li>"
Limit = 9000
Match = "<li>\1<a href="\2">http://(antenna|a).hatena.ne.jp/\3/\4</a></li>"
Replace = "<li>\1 (Antenna) <a href="http://a.hatena.ne.jp/\3/simple">[A]</a> <a href="http://d.hatena.ne.jp/\3/">id:\3</a> /  \4</li>"