0

http://([a-z0-9]*.)?example.com/.*これらのケースで完全に機能する URL のサブドメインを一致させようとしています。

http://example.com/index.html
http://test.example.com/index.html
http://test1.example.com/index.html
http://www.example.com/122/index.html

しかし問題は、この URL にも一致することです。 http://www.test.com/?q=http://example.com/index.html

別のドメインの URL のパスに一致する URL がある場合、現在のドメインのみを一致させる方法を教えてください。ホストの取得は機能しますが、完全な URL と一致する必要があります。

4

2 に答える 2

3

.がどの文字にも一致することを知っていますか?

正規表現を使用する場合

http://([a-z0-9]*\.)?example\.com/.*

(または、Java 文字列として)

"http://([a-z0-9]*\\.)?example\\.com/.*"

?q=パーツが一致しないため、機能するはずです。

.matches()これは、文字列全体を強制的に一致させる方法を使用していることを前提としています。^それ以外の場合は、正規表現の先頭にa を追加します。

于 2012-09-16T09:37:07.097 に答える
1

最も簡単な方法は次のとおりです。

^http://([a-z0-9]*?\.)?example\.com/.*

^ は文字列内の開始位置に一致します。[^ ] と混同しないでください。

于 2012-09-16T09:37:03.670 に答える