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

4-28 直近のtrタグで囲まれた部分を検索

正規表現パズル

2-1から左方向に一番近い<tr>から、
右方向に一番近い</tr>までを検索する

検索前


検索後


対象データ

<tr><td>2-1</td><td>2-2</td></tr>
<tr><td>1-1</td><td>1-2</td></tr><tr><td>2-1</td><td>2-2</td></tr>
<tr><td>2-1</td><td>2-2</td></tr><tr><td>3-1</td><td>3-2</td></tr>
<tr><td>1-1</td></tr><tr><td>2-1</td></tr><tr><td>3-1</td></tr>


正規表現

<tr>(?=(.(?!<tr>))*2-1).*?></tr>

別解

<tr>(.(?!<tr>))*2-1.*?</tr>


解説

否定先読みと最小マッチを
組み合わせてます