プロが教える店舗&オフィスのセキュリティ対策術

例えば下のような文字列があって、{~} を正規表現で最初の一つをマッチさせたいのですが、{~} が複数あると最初の一つだけを取り出すことができません。

あああああ{aaaaa}いいいいい{bbbbb}ううううう

パターンは /{.*}/ こんな感じでやっているのですが結果は、

{aaaaa}いいいいい{bbbbb}

となってしまいます。
正規表現に詳しい方教えてください。

A 回答 (2件)

 単純な方法でよければ、



  /\{.*?\}/

 これでいけるはずです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
バッチリ解決しました!

#ポイントは順番につけさせていただきました

お礼日時:2006/08/22 21:02

{}の組は入れ子にはならないのですよね?


であれば、

・最短マッチが使えるのなら最短マッチを使う
・/{[^}]*}/ のようにする

のいずれかになると思います。
ところで使っているのはなんですか?
Perlなんかだと {} はメタ文字なんですが。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
バッチリ解決しました!
ちなみに言語はPHPです。
{}はエスケープしなくても使えたのでそのまま書いてしまいました。

#ポイントは順番につけさせていただきました

お礼日時:2006/08/22 21:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!