今回も雑誌(※1)を読んで知ったことを紹介します。
テキストエディタで、文字列を一括して置換したい場合があると思います。
しかし、既に幾つかは、置換したい文字列を手で変更してしまっていた場合、
全部を置換してしまうと、同じ文字列が重なってしまいます。
たとえば、「setData」という名前の関数を、
「setDataGrid」に置換したいとします。
既に「setDataGrid」に変更していた箇所があった場合、
全体に置換をかけてしまうと、「setDataGridGrid」になってしまいます。
このような場合に、「setData(?!Grid)」を「setDataGrid」に置換すると、
「setData」文字列だけが、「setDataGrid」に置換できます。
正規表現では、「(?!パターン)」で、指定されたパターンが、
この位置の左に存在しなければマッチする、という意味になります。
正規表現を覚えると、いろいろと便利なので、
もっと勉強しようと思います。
※1…「開発の現場特別版vol.001」p.146