0

条件付きのURLである場合、文字列を識別する正規表現を作成する必要がありますが、ドメイン名の識別に行き詰まりました...

ドメイン名の基準は

  1. のみ[a-z][0-9].および-
  2. 最初の文字は[a-z]
  3. 前後.またはする-必要があります[a-z]
  4. 最小長1文字

ドメイン領域は

  1. [a-z]と_.
  2. 最初の文字は.
  3. 最小長さ3文字

フォーマットはwww.<domain name>.<domain region>

ここで私が得たもの..

www.[a-z]([a-z0-9\.\-]{1,}[a-z][\.\-])+[^\.+\-].[a-z+\.]{2,}[^\.]$

これはドメイン名用です

[a-z]([a-z0-9\.\-]{1,}[a-z][\.\-])+[^\.+\-]

これはドメインリージョン用です

.[a-z+\.]{2,}[^\.]$

これは次のようになりますwww.sample.com.sg

  • www..sample.comのために拒否されます.sample
  • www.sample..comのために拒否されますsample.
  • www.sample.com.sg.のために拒否されます.com.sg.
  • www.sampl3.sample.comsampl3.ルールの無感覚3のために拒否されます。
4

3 に答える 3

3

再発明しない

このようなことは何度も行われているため、すべてのURLルールと仕様要件を再学習するよりも、既存のコードを活用する方が適切です。

于 2012-09-24T13:46:50.387 に答える
0

これを試してみてください: ^[a-zA-Z0-9-.]+.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU) $規制が必要かもしれません

于 2012-09-24T13:47:49.970 に答える
0

編集:

www\.(([a-z][a-z0-9]*)?[a-z][\.\-])*([a-z][a-z0-9]*)?[a-z]\.[a-z]{2,}$

めちゃくちゃ長いので、もっと良いものがあるかもしれませんが...

于 2012-09-24T14:02:17.920 に答える