トップページに戻る    次の正規表現パズルへ    前の正規表現パズルへ

3-8 最後の括弧の中身を取得(検索編)

正規表現パズル

検索を使って、
最後の開き括弧から、最後の閉じ括弧までの括弧の中身を取得する。
括弧の入れ子は存在しないものとする。

検索前


検索後


対象データ

打ち手が交代することで連射が可能となる(織田信長) 1575年
敵は 本能寺(ほんのうじ)にあり (明智光秀) 1582年
この戦 必死で戦うのは どちらかということだ(徳川家康)


正規表現

(?<=\()[^)]+(?!.*\()

別解

(?<=\()(?=.*\))(?!(.*\)){2})[^)]+


解説

肯定戻り読みと否定先読みを組み合わせてます。

別解では、連立不等式の考え方を使っているのですが、
逆に読みづらいですね。