のように私は、URLを含む文字列の一致を確認したい:私は、URLを一致させるために、この正規表現(.NETスタイルを)持っているURLに一致するようにこの正規表現を変更するにはどうすればよいですか?
http://www.something.com
www.something.com
something.com
:
((http|ftp|https|www)://)?(\w+?\.\w+)+([a-zA-Z0-9\~\!\@\#\$\%\^\&\*\(\)_\-\=\+\\\/\?\.\:\;\'\,]*)?
それは3つのURL上記のために働きますそれは必要がありますが、残念ながらそれはまた、これを一致します。
35.000
それは35.000と一致しないように、私は、正規表現を解決することができますか?
文字を含まない一致を除外するだけで、.NETでテキストを抽出するのは簡単です。 –
あなたは '(http | ftp | https | www)'を '(https?ftp | www)'に変更することができ、あなたの長いリストは全ての文字をエスケープする必要はなく、代わりに '\ w'を使うことができます代わりに '[\ w〜!@#$%^&*()= + \\\ /?。:; '、 - ]'を使用して、「a-zA- – ctwheels
URL構文は非常に複雑です。 1つのパターンですべての仕事をやろうとするのは、2つの理由から良い考えではありません.1)可能なすべてのケースを処理する究極のパターンを書くと、読みにくく、遅くなります。 2)単純なパターンを書くと、URLが見つからず、URLではない部分文字列と一致します。結論として、妥協案を選んでください:単純で非常に寛大なパターン+結果をフィルタリングするビルドインのURLチェッカー。 –