いろいろな場合の正規表現について残しておく
目次
1.【】で囲われた部分を抜き出す。
1.【】で囲われた部分を抜き出す。
テキストサンプル(変数textに代入)(夏目漱石 こころ より抜粋)
私わたくしはその人を常に【先生】と【呼んでいた】。 だからここでもただ先生と書くだけで本名は打ち明けない。 これは世間を憚はばかる遠慮というよりも、その方が私にとって自然だからである。 私はその人の記憶を呼び起すごとに、すぐ「【先生】」といいたくなる。 筆を執とっても心持は同じ事である。 よそよそしい【頭文字かしらもじなどはとても使う気にならない】。
text.scan(/【([^【]*)】/)
一件、/【(.*)】/ これでいいと思ったけど、これだと、同じ行で最初の【 から最後 】 までマッチしてしまった。
「私わたくしはその人を常に【先生】と【呼んでいた】。」の行で「先生】と【呼んでいた」が抜き出された。
最長一致だからだった。最小はどうするんだろう。
[^【] は【 以外という意味なので、【([^【]*)】 だと【 から 】 の間に 】 が出てこないこと という意味になって、
同じ行に【】が複数あってもちゃんと【】内のものがマッチする。