-1

ユーザーは、入力としてスクリプトにドメイン/サブドメインを入力します。ドメイン内で特定の文字列を許可したくありませんが、サブドメイン内では許可します (サブドメインが使用されている場合)。

ユーザー入力の例を次に示します。

[ここで悪い言葉を許可する].[ここで悪い言葉を許可しない].[tld]

[ここに悪い言葉を入れないでください].[tld]

TLD は、単一の部分 (.com) または複数の部分 (.co.uk) で構成されている可能性があることに注意してください。このため、単純な正規表現ではうまくいきません。

また、悪い言葉は、ドメインまたはサブドメイン自体の前、後、または間にある可能性があります。

4

1 に答える 1

1

あなたの例に従ってください:

"^[^.]*bad[^.]*\.[^.]+$"

一致する場合は、許可されるべきではありません。

ただし、より一般的な答えが必要な場合は、もう少し掘り下げる必要があります。

編集:
セカンドレベルドメイン名のリストがある場合:

"bad[^.]*\.(co.uk|com|...)$"

多分これはかなり遅いかもしれません。悪いと一致させてから、第2レベルのドメイン名がリストにあるかどうかを確認する方が良い場合があります.

于 2013-04-19T13:09:04.630 に答える