-1

URL の一部を抽出するには Java 正規表現が必要です。

たとえば、次の URL を使用します。

http://localhost:81/example
https://test.com/test
http://test.com/

正規表現が返されるようにします。

http://localhost:81
https://test.com
http://test.com

これを Java パッチャーで使用します。

これは私がこれまでに持っているものです。問題は、URL全体を取得することです:

^https?:\/\/(?!.*:\/\/)\S+
4

4 に答える 4

6
import Java.net.URL

//snip

URL url = new URL(urlString);
return url.getProtocol() + "://" + url.getAuthority();

適切な仕事のための適切なツール。

于 2013-02-13T20:41:32.203 に答える
4

あなたの試みを構築して、これを試してください:

^https?://[^/]+

http://? (それは私があなたの例から得たものです-そうでない場合は、もう少し投稿してください)。

これらの URL は 1 つの入力として与えられたものですか、それともそれぞれ別の文字列ですか?

編集:不要なエスケープがあると指摘されたため、より凝縮されたバージョンに修正

于 2013-02-13T21:12:54.593 に答える
1

簡単なもの:^(https?://[^/]+)

于 2013-02-13T21:39:04.597 に答える
1

言語に依存しない回答:

空白の場合: 空の文字列に置き換え/^\s+/ます。

URL からパス情報を削除するには、パスにスラッシュがないと想定できる場合 (つまり、 を扱っていない場合)は、空の文字列http://localhost:81/foo/bar/bazに置き換えます。/\/[^\/]+$/さらにスラッシュがある可能性がある場合は、 に置き換えるなどの方法/(^\s*.*:\/\/[^\/]+)\/.*/を試すことができます$1

于 2013-02-13T20:43:40.743 に答える