htmlからWordPressに移行するときに、過去のイメージデータのパスを正規表現で置換したいことがありました。

過去の画像データをファイル転送のソフトでwp-content/uploads/old-images/フォルダにアップロードして、WordPressのhtmlはSublimeTextでパスを変更してhtmlをアップしていきます。

# 変更前
<a href="CIMG4444.jpg">

# 変更後
<a href="/cms/wp-content/uploads/old-images/CIMG4444.jpg">

sublimeTextでファイルを開いて、「⌘+Shift+f」すると下に検索、置換の表示が。
左の「.*」ドットとアスタリスクのマークをクリックすると背景がライトグレーにかわります。
残りは、
Find: <a href=”([A-Z]{4})([0-9]{4}).JPG”
Where: 空白
Replace: <a href=”/cms/wp-content/uploads/old-images/$1$2.JPG”

と入力して、Replaceボタンを押すと置換されます。

([A-Z]{4})や、([0-9]{4})のカッコで囲まれているところは$1や$2というところで置き換えができました。

まとめ

  • sublime Textで正規表現で検索する時は「.*」のアイコンにチェックをいれる
  • 置換の前に右側のボタンの「検索(Find)」しておくと安心できる
  • 正規表現で()カッコで囲むとグループにできる
  • $1や$2で()の部分を変数として使用できる

置換の前にFindで検索してどのような文字が検索されるか確認すると安心して置換できそうです。

そろそろ常識? マンガでわかる「正規表現」【電子書籍】[ 森巧尚 ]

created by Rinker

正規表現書き方ドリル すらすらと手が動くようになる (WEB+DB press plusシリーズ) [ 杉山貴章 ]

created by Rinker