私は文字列からアドレスを解析しようとしていると、選択した文字列のための部分的な成功を収めているを使用してURLを解析.... 正規表現
は現在、私は、入力時にPattern regex = Pattern.compile("[/].*[a-zA-Z](?=\/|:|)", Pattern.DOTALL)
を持っています私は、入力文字列https://www.google.com/search?q=Regular+Expressions&num=1000
をしようとすると、文字列https://www.google.com/
現在のパターンが私//www.google.com
取得は(多少正しいです)しかし、それは私がやろうとしていますどのような私に//www.google.com/search?q=Regular+Expressions&num
を与え、それが終了するようにアドレスを解析しています:
、/
、または空白
前に、私はまた、
Pattern regex = Pattern.compile("[.*/][^/][a-z].*[a-zA-Z](?=\/|:|)", Pattern.DOTALL)
と思いついたのと、それは私に/google.com
を与えhttps://google.com:80
で(部分的に)動作します。
私は間違っていますか?
Javaの['URL'](https://docs.oracle.com/javase/7/docs/api/java/net/URL.html)を使用しないのはなぜですか? – shmosel
しかし、私は正規表現を学ぼうとしています! – nelac123
'。*?// [^:/ \ s] *'はどうですか? – shmosel