2

スパム フィルタリングに使用する正規表現のセットをダウンロードしました。それらの1つは次のようになります。

/(?!med['`s]?)\bm[_\W]{0,5}[e????????3][_\W]{0,5}[d?][_\W]{0,5}[sz5\$]?\b/i

その意図は、「meds」という単語の難読化されたバージョンをマークすることです。残念なことに、「me?」で終わる文にもマークが付けられます。

[e????????3]この正規表現が実際に何をするのかを理解しようと逆方向に作業していますが、何を意味するのかわからないために立ち往生しています。誰か説明してくれませんか?

4

2 に答える 2

4

文字クラスにない場合は?、前のトークンをオプションにします。a の内部では、?aliteral と一致するだけ?です。文字クラスで同じ文字を繰り返しても効果がないため、[e????????3]と同等[e?3]です。正規表現のこの部分はe、、、、?または3.

?エンコーディングの問題が発生する前は、これらの文字は実際には別のものだった可能性があることに注意してください。

于 2013-04-16T22:36:37.143 に答える