0
preg_match('/^(http:\\/\/)?(.+)\.MYDOMAIN\.com(.*)/', $url, $match)

これは、サブドメインが必要な URL を検証するための私の正規表現ですが、誰かがwww サブドメインの代わりに使用すると、それも検証されます。例えば:

  • http://shoes.en.MYDOMAIN.com/これは合格しなければなりません

  • http://www.MYDOMAIN.com/これは失敗するに違いない

サブドメインが の場合に失敗するように正規表現を編集するにはどうすればよいwwwですか?

4

3 に答える 3

2

否定的な先読みアサーションでそれを行うことができると思います。(?!www\.)プロトコルチェックの後に配置されwww.、開始またはプロトコルに続くものがないかどうかをチェックします。

/^(http:\\\/\/)?(?!www\.)(.+)\.MYDOMAIN\.com(.*)/.test("www.MYDOMAIN.com")
于 2012-04-12T06:55:32.817 に答える
0

これを試してください:少しテストしましたが、うまくいっているようです

preg_match('/^(http:\\/\/)?([^(www)]+)\.MYDOMAIN\.com(.*)/', $url, $match);
于 2012-04-12T06:40:17.477 に答える
0

最初に現在のソリューションを使用してドメインを検証してから、2 番目の式を使用して www を確認してください。

(\.www\.|http:\/\/www\.|^www\.)
于 2012-04-12T07:23:30.437 に答える