2017-12-07 3 views
-3

有効なURLを確認するために、次の正規表現を使用しています。しかし、それは無限ループに落ち続けると、なぜ私は知らない。 ?true = blaを捨てて問題を解決します。 URL http://google.com?true=blaRegex:Endless loop

^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$ 

この場合の問題点は何ですか?

+1

の有無にかかわらず、あなたが無限ループとはどういう意味ですか一致しますか?あなたはどんな言葉を話していますか? –

+0

Regexは無限ループを持ち、ソフトウェアをクラッシュさせる可能性があります。これが私の話です。私はJavaをやっている、言及を忘れて申し訳ありません。 – sullivan

答えて

1

試してみてください。

(https?:\/\/)([a-zA-Z0-9\_\-]*?)\.([a-zA-Z0-9\_\-\.]*?)\/(.*) 

これは、HTTPまたはHTTPS URLのサブドメインおよび/またはクエリ文字列

+0

'(https?:\/\ /)([\ w - ] *)\。([\ w .-] *)\ /(。*)'の方がはるかに短くなります。 – ctwheels