1

正規表現を使用して「http://domain.com/some-more-path」から「ドメイン」を取得しようとしています:

/(.*)(http|https):\/\/(.*)(\/)(.*)/ and then $3

私の問題は、「ドメイン」の代わりに「ドメイン/いくつかのパス」を取得することです。私は何を間違っていますか?

4

2 に答える 2

1

多分このように:

/([^:]*):\/\/([^\/]*)(.*)/

これで、$2 は単なるドメインになります。

于 2012-09-19T13:37:10.807 に答える
0

変化する

/(.*)(http|https):\/\/(.*)(\/)(.*)/

/(.*)(http|https):\/\/(.*?)(\/)(.*)/

問題はその.*部分です。*貪欲な量指定子であり、可能な限り多くの文字を消費します。?の後ろに a を置く*と、修飾子の動作を貪欲ではないものに切り替えます (つまり、必要なだけ文字を消費します)。

于 2012-09-19T13:37:27.203 に答える