0

URLを検証するために正規表現を使用しています。私が持っている正規表現は非常にうまく機能しますが、唯一の問題はhttp://、前面にURLがない場合でもURLを検証することです。URLが先頭にあるかどうかだけを検証したいhttp://(直後にwwwが含まれていない場合でも)

これは私が使用している正規表現です:

((https?)\:\/\/)?([a-z0-9+!*(),;?&=\$_.-]+(\:[a-z0-9+!*(),;?&=\$_.-]+)?@)?([a-z0-9-.]*)\.([a-z]{2,3})(\:[0-9]{2,5})?(\/([a-z0-9+\$_-]\.?)+)*\/?(\?[a-z+&\$_.-][a-z0-9;:@&%=+\/\$_.-]*)?(#[a-z_.-][a-z0-9+\$_.-]*)?
4

2 に答える 2

4

?左から2番目を削除します。httpこれは、セクション全体をオプションにするための数量詞として機能します。

于 2012-12-21T02:27:26.247 に答える
0

オプションの作品だけを作るのですか?

(http(s)?\:\/\/)?([a-z0-9+!*(),;?&=\$_.-]+(\:[a-z0-9+!*(),;?&=\$_.-]+)?@)?([a-z0-9-.]*)\.([a-z]{2,3})(\:[0-9]{2,5})?(\/([a-z0-9+\$_-]\.?)+)*\/?(\?[a-z+&\$_.-][a-z0-9;:@&%=+\/\$_.-]*)?(#[a-z_.-][a-z0-9+\$_.-]*)?

新しい答えを見た後、これにはhttpまたはhttpsが必要になります。

(http(s)?\:\/\/)([a-z0-9+!*(),;?&=\$_.-]+(\:[a-z0-9+!*(),;?&=\$_.-]+)?@)?([a-z0-9-.]*)\.([a-z]{2,3})(\:[0-9]{2,5})?(\/([a-z0-9+\$_-]\.?)+)*\/?(\?[a-z+&\$_.-][a-z0-9;:@&%=+\/\$_.-]*)?(#[a-z_.-][a-z0-9+\$_.-]*)?
于 2012-12-21T02:27:58.850 に答える