私はURLを与えられ、URLが特定の最上位レベルのドメインで終わる場合にのみ、正規表現を使って一致する必要があります。たとえば、ドメイン名が.cn
の場合にのみ一致します。私の考えは*.cn
です。特定のトップレベルドメインを正規表現とどのように一致させることができますか?
.cn
部分文字列がドメインの最後にない場合は一致しません。例えば: - 一致なし
- cnn.com試合
私はそれをどのように行うことができますか?以下は、正常に動作するようです
私はURLを与えられ、URLが特定の最上位レベルのドメインで終わる場合にのみ、正規表現を使って一致する必要があります。たとえば、ドメイン名が.cn
の場合にのみ一致します。私の考えは*.cn
です。特定のトップレベルドメインを正規表現とどのように一致させることができますか?
.cn
部分文字列がドメインの最後にない場合は一致しません。例えば: - 一致なし
私はそれをどのように行うことができますか?以下は、正常に動作するようです
(ちょうどかかわらず、あなたの3例をテストした)
^(http:\/\/)?(\w*\.)*(cn)(\/.*)?$
ファイアウォールにそれを置く前に、他のURLを試してみてください!私はすでにあなたがユニットテストとして述べたものをregex101に追加しました。
正規表現は、スラッシュ(「/」)(中のものを除いて「のhttp://」)のトップレベルドメインの前に発生する可能性があることをasumptionの下で構築され
ダングこれは素晴らしいです。ご協力ありがとうございました。私はこれが今だと思います。追加されたhttps:^(http:\/\/| https:\/\ /)?(\ w * \。)*(cn)(\ /.*)?$ –
@mlayt당신은더이상 'http: \/\/| https:\/\ /) 'を'(https?:\/\ /) 'と組み合わせて正規表現を短縮します。 – EvilDevil
は\ .CN $ 'これを試してみてくださいません' –
URLは常にトップレベルドメインで終了しますか?あなたはこれをどの言語で使っていますか? – chris85
これは、プログラミング言語の内部ではなく、正規表現を受け入れるファイアウォールで使用されます。 –