PhpStorm で Regex の文字列置換の小技

少し前、Web ページなどに書かれている一覧をコピーして、それを PHP の配列に置き換えたいということがあった。それをコードエディタの PhpStorm で解決したことがあったので、その覚え書き。

テーブルの一覧

具体的には PA-API5 のドキュメンテーションの Search Index やら Valid Currencies を配列として扱いたかった。こういうやつ 。

https://webservices.amazon.com/paapi5/documentation/locale-reference/united-states.html

Search Index はずらっと並んでいる。数が多く、とても手動で択一 PHP のシンタックスに書き換えるのはしんどい。それが13カ国分とコピーするのは Valid Languages, Search Index, Valid Currencies と膨大だった。これを処理するために、Regex の文字列置換機能を活用した。

クリップボードにコピーすると、大抵の場合 table 要素で描かれていたりして、テキストデータとしてコピーされ、こんな感じになる。

で、これを次のように変えたい。

PHP Storm の Regex 文字列置換機能

Control + R を押してエディタ上部に文字列置換パネルを出す。

右側の Regex にチェックを入れる。

上の一つ目の検索フィールドに次の Regex パターンを入力

下の検索フィールドは以下

で、array( ... ) で一覧を囲ってあげる。リスト項目の前方はスペースがある必要がある。

Replace All を押して実行。

するとこんな感じで一括変換してくれる。

余談

手元にあったメモで次のような Regex のパターンがあったけど、何のためだったか全く覚えていない。

確か同様のリストで拾い漏れのケース用だったかな、忘れた。

Leave a Reply

Your email address will not be published. Required fields are marked *