URLから最後の値を取得する必要があります
次のURLシナリオ:
http://www.abc.com/aa/bb/cc
http://www.abc.com/aa/bb/cc?ab=1
http://www.abc.com/aa/bb/cc/
http://www.abc.com/aa/bb/cc/?ab=1
上記のURLリストから、値ccを取得するには、URL正規表現からccを取り出す必要があります。
これでうまくいくはずです:
([^/?]+)(?=/?(?:$|\?))
ここで実際に見てください:http://regexr.com?322bq
([^/?]+)
-スラッシュまたは疑問符以外の任意の文字に一致します。(?=
- 先読みを開始します。/?
- オプションでスラッシュに一致します。(?:$|\?)
- クエスチョン マークに一致するか、最後にいることを主張します。)
- 先読みを閉じます。注:デモでは?
、グローバル検索を行っているため、文字の後にも一致しています。しかし、それはあなたには関係ありません。