質問: 正規表現でわからないので質問させていただきます。 下記の文字列からURLを抜き出したいです。 **対象の文字列** background-image: url(http://test.jp/img/tit/0013/BOT0023543.png?output-quality=20&output-format=jpg&resize=480:270); **抜き出したい文字列** http://test.jp/img/tit/0013/BOT0023543.png?output-quality=20&output-format=jpg&resize=480:270 現在以下のように記述したのですが、 **正規表現** (https?)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+) これだと http://test.jp/img/tit/0013/BOT0023543.png?output-quality=20&output-format=jpg&resize=480:270**);** 末尾の**;)**まで抽出してしまいます。 );のように特定の文字列以降は抽出しないようにしたいのですが、表現方法がわかりません。どのようにして、特定の文字列以降は除いて抽出できるのでしょうか? よろしくお願い致します。
回答: > > [-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+ > > > の羅列の中にカッコがふくまれていますから当然ヒットしますよね カッコはいらないなら除けばいいのでは?たとえば ``` [-_.!~*\'a-zA-Z0-9;\/?:\@&=+\$,%#]+ ```