自分が2ch閲覧用に使ってる正規表現を4つのNGワードです。割と単純ですが幅広く使えるかと思います。

【シンプル版】
<>/( <br> [^ ]?){9}/

<>/( <br> ){3,}[ ]{4}/

<>/([  ][^  ]){9}/

<>/(( <br> )+ <br> [^ ]+){3}/

【上と同じだけど拡張・強化してある版(重いかも)】
<>/(<[bdpt][^>]*> ([  ]|&(#(x0*(20;|3000;|[aA]0;)|0*(32;|12288;|160;))|nbsp;))*[^  <>]?([  ]|&(#(x0*(20;|3000;|[aA]0;)|0*(32;|12288;|160;))|nbsp;))* ){8}/

<>/(<[bdpt][^>]*> ([  ]|&(#(x0*(20;|3000;|[aA]0;)|0*(32;|12288;|160;))|nbsp;))*){3,}(([ ]|&(#(x0*(20;|3000;|[aA]0;)|0*(32;|12288;|160;))|nbsp;))[ ]*){3,}[^ "#$%&'*+,\-\.\/:;=^`|~_ -◯─-╂]/

<>/(([ ]|[ ]+|&(#(x0*(20;|3000;|[aA]0;)|0*(32;|12288;|160;))|nbsp;))[^ \.,:;|<> ]){9}/

<>/((<[bdpt][^>]*> ([  ]|&(#(x0*(20;|3000;|[aA]0;)|0*(32;|12288;|160;))|nbsp;))*)+ <br> ([^ ]|[ ][^ <])+[ ]* ){4}<br> ([  ]|&(#(x0*(20;|3000;|[aA]0;)|0*(32;|12288;|160;))|nbsp;))* <[\/b]/

 このNGワードはかちゅーしゃ用の形式で書かれています。かちゅ+kageの形式は下のようになっているので、使用している専用ブラウザに合わせて設定して下さい。

 <>/正規表現/オプション

 強化版の方は、空白スペースを数値文字参照にしている場合を考慮したり、1行目もちゃんと解釈するようにしたり、誤爆を減らすようにしたりと色々と苦労しています。
  <[bdpt][^>]*> の部分は改行タグだけでなく開始部分のタグにもマッチさせてます。開始部分のタグはスキンごとに違いますが、<div class="hoge">、<dd>、<p>、<td>といったものにマッチします。

 あと、他の専用ブラウザで使う場合の注意点は、かちゅーしゃ(というかkage)の正規表現では全角文字を1文字として解釈しています(普通はそう解釈する)。その辺の仕様の違いで動作しない専用ブラウザもあるかもしれませんので悪しからず。


 以下解説です。

(1)連続改行や、縦1列に書くのをNG
 最後の{8}が改行の連続数。荒らし以外でも連続改行を使ったレスはつまらない傾向があるので誤爆しても困らないと思います。
【例1】












【例2】
禿同









あじゃらかもくれん!


(2)複数改行のあとインデントして書き込むのをNG
 最初の{3,}が改行の回数、あとの{4}がインデント数。強化版ではAAになるべく誤爆しないようにしています。
【例】


    あじゃらかもくれん!




(3)文字間にスペースを置いて目立たせるのをNG
 {9}が文字数。強化版ではAAの陰影でよく使う「.,:;|」を除外してます。
【例】

 あ じ ゃ ら か も く れ ん !



(4)行間にスペースを置いて目立たせるのをNG
 最後の{3}が連続数。誤爆が多い場合は数値を増やして下さい。強化版ではかちゅが最短一致に対応していないので苦労しました。
【例】
>>1
禿同

ベロベロバァー

オッペケペッポー

ペッポッポー

アジャラカモクレン!!