Remove Ads in feed on LDR!

なんかLDRで表示中のfeedの広告が気になる。
前からこんなだったっけか。ひどいのは広告記事が続いてる。
そこで広告を削除するGreasemonkey scriptを探してみた。

LDR Ad-Entry Blocker

こんなん見つかった。
タイトルが「AD:」「PR:」「【AD】」「【PR】」ではじまる記事を目立たなくしてくれるみたい。
使ってみるとなかなかいい感じ。
しばらく使ってみて気づいた。僕の購読してる記事だと「[AD]」「[PR]」という広告が多いみたいで、これだと条件が合わない。
ソースを見てみると次のようなパターンでマッチングしている。

(function(){
/////////////// configurations ////////////////
var cfg = {
    // judgement patterns of entry title
    patterns: [/^[\s【]*(AD|PR|AD|PR)[\s】]*[::]/i],

そこで「[]」を追加してみた。

(function(){
/////////////// configurations ////////////////
var cfg = {
    // judgement patterns of entry title
    patterns: [/^[\s\[【]*(AD|PR|AD|PR)[\s\]】]*[::]/i],

でも上手くいかない。
よくみてみるとパターンの最後に必ず「[::]」が付かないと条件が合わない。
つまり「[AD]:」でないといけない。でも「[]」が付く場合「:」は付かない、というか「【】」の場合でも「:」は付かないと思うのだけど。。。
結局、「:」の付くパターンと付かないパターンで分けないと上手くいかないのだ。

(function(){
/////////////// configurations ////////////////
var cfg = {
    // judgement patterns of entry title
    patterns: [/^[\[【](AD|PR|AD|PR)[\]】]|^\s*(AD|PR|AD|PR)\s*[::]/i],

上手くいった。
とりあえず、これでしばらく使ってみよう。