2

コンテンツブロックソフトウェアを使用してポルノスター名の膨大なリストをブロックするための完璧な1行の正規表現パターンを探しています。

このソフトウェアは完全に正規表現に準拠しており、適切に記述された正規表現を受け入れます。

例として、これが私が現在使用している行です。最初の行は何とか同じで、最初の行は最初のすべてをブロックし、2番目の行は事前定義された単語のリストで終わるすべての行をブロックします。

(\b(cohf|cock(s)?|cum(s)?|cutie(s)?|creamy(-)?pie(s)?))(-)?\w+\b
\w+(-)?((cam(s)?|cohf|cock(s)?|cum(s)?|cutie(s)?|creamy(-)?pie(s)?)\b)

今、私は次のようなリストを持っています:

**pornstar1 name**
pornstar2 name
pornstar3 name
some-other name-here

提供された正規表現で、名前の2つの部分が表示されるすべてのURLをブロックしたいと思います-例:

  • www.alink-to- pornstar1 .com <-ブロックされていません(名前の一部のみがここにあります)
  • www.alink-to- pornstar1-name .com <-ブロックされています(2つの部分があります)

前もって感謝します

4

1 に答える 1

2
  1. URL を取得してすべて削除[^a-zA-Z] - 空の文字列に置き換えます
  2. 許可されていないすべての単語またはフレーズのリストを取得し、(1) と同じことを行います
  3. このようなリストを使用すると、|文字を含むすべてのキーワードを 1 つの正規表現文字列に結合できるようになりました
  4. この正規表現が (1) で変更した URL と一致するかどうかを確認します

変数urllistがある場合、1 行の jQuery ソリューションは次のようになります。

url.replace(/[^a-z]/gi,'').match(new RegExp("("+$.map(list,function(e){return e.replace(/[^a-z]/gi,'');}).join('|')+")"))!=null

結果は、 の制限された単語またはフレーズの一部が含まれているtrue場合です。urllist

于 2012-07-20T23:28:31.247 に答える