- ベストアンサー
正規表現
例えば下のような文字列があって、{~} を正規表現で最初の一つをマッチさせたいのですが、{~} が複数あると最初の一つだけを取り出すことができません。 あああああ{aaaaa}いいいいい{bbbbb}ううううう パターンは /{.*}/ こんな感じでやっているのですが結果は、 {aaaaa}いいいいい{bbbbb} となってしまいます。 正規表現に詳しい方教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
{}の組は入れ子にはならないのですよね? であれば、 ・最短マッチが使えるのなら最短マッチを使う ・/{[^}]*}/ のようにする のいずれかになると思います。 ところで使っているのはなんですか? Perlなんかだと {} はメタ文字なんですが。
その他の回答 (1)
noname#25358
回答No.2
単純な方法でよければ、 /\{.*?\}/ これでいけるはずです。
質問者
お礼
回答ありがとうございます。 バッチリ解決しました! #ポイントは順番につけさせていただきました
お礼
回答ありがとうございます。 バッチリ解決しました! ちなみに言語はPHPです。 {}はエスケープしなくても使えたのでそのまま書いてしまいました。 #ポイントは順番につけさせていただきました