[ruby-list:47332] Re: 入れ子ブレースのマッチング

From: Shugo Maeda <shugo@...>
Date: 2010-08-24 03:14:58 UTC
List: ruby-list #47332
前田です。

2010年8月24日11:48 AOKI Yoshihiro <aoki@livretech.co.jp>:
> 主にTeXを想定してなのですが,
>
>  {aaa{bbb}} {ccc{ddd}} {e}
>
> のように1行にブレースが頻出するケースで,無欲マッチで
>
>  /\{[^}].*?\}/
>
> とすると
>
>  {aaa{bbb}
>
> がマッチすると思いますが,起こしと閉じのペアをうまく拾ってくる方法はあるのでしょうか。

1.9だと

  /(?<bracepair>\{([^{}]|\g<bracepair>)*\})/

とかで出来るんじゃないでしょうか。
「田中哲スペシャル」で検索すると色々解説記事が見つかると思います。

-- 
Shugo Maeda

In This Thread