私は、ドメイン名の後、最初の ?、最後のスラッシュ、または URL の終わりの前の URL のすべてにエレガントに一致する正規表現を考え出そうとしています (2 つが存在しない場合)。
これは私が思いついたものですが、場合によっては失敗しているようです:
regex = /[http|https]:\/\/.+?\/(.+)[?|\/|]$/
要約すれば:
http://nytimes.com/2013/07/31/a-new-health-care-approach-dont-hide-the-price/は 2013/07/31/a-new-health-care-approach- を返す必要があります。価格を隠さない
http://nytimes.com/2013/07/31/a-new-health-care-approach-dont-hide-the-price?id=2は 2013/07/31/a-new-health-care を返す必要があります-アプローチ・ドント・ハイド・ザ・プライス
http://nytimes.com/2013/07/31/a-new-health-care-approach-dont-hide-the-priceは 2013/07/31/a-new-health-care-approach-dont を返す必要があります-価格を隠す