トップページに戻る
次の正規表現パズルへ
前の正規表現パズルへ
2-21 /で囲まれた最後の文字列を検索
正規表現パズル
行ごとで、
/で囲まれた最後の文字列を検索する。
検索前
検索後
対象データ
ttp://oraclesqlpuzzle/8-5.html
ttp://oraclesqlpuzzle/mysql/mysql-2-3-1.html
ttp://oraclesqlpuzzle/postgresql/postgresql-3-1.html
ttp://oraclesqlpuzzle/regex/regex-2-6.html
ttp://oraclesqlpuzzle/bool/bool-2-4.html
ttp://oraclesqlpuzzle/db2/db2-8-1.html
正規表現
(?<=/)(?=[^/]*/[^/]*$).+?(?=/)
別解1
(?<=/)[^/]+(?=/(?!.*/))
別解2
(?<=/)(?=.*/)(?!.*/.*/)[^/]+
解説
別解1では、
肯定先読みの中で否定先読みを使ってます。
別解2では、
前方にあるスラッシュの数は1以上である。かつ、前方にあるスラッシュの数は2以上ではない。
⇔
前方にあるスラッシュの数は1である。
という連立不等式をふまえた同値命題を使ってます。