★★★ たった "1日" でできるWordPressブログの作り方講座 ★★★ はじめてみる

URLや語句を一括置換!「Search Regex」の使い方を徹底解説

WordPressで記事内の単語や表現を修正したりサイト移行時にURLの書き換えが必要な場合、全ての修正箇所を手動で直すと時間と労力がかかりすぎてしまいます。

そんなときに便利なのが Search Regex というプラグイン

このプラグインは単語を別のものに置き換えるだけではなく、正規表現というものを使って柔軟に置換をする機能も付いているので記事やURL修正をしたい場合は大変役に立ちます。

ここではそのプラグインで語句を検索・置換する方法をまとめました。

Search Regexの導入

最初にこのプラグインをインストールして有効化する手順を紹介します。

それではまずメニューから「プラグイン」ー>「新規追加」を開きましょう。

そして新規追加画面の検索欄に「search regex」というキーワードを入力

すると検索結果に次のプラグインが表示されるので「今すぐインストール」ボタンを押してインストールしてください。

Search Regexプラグインのインストール

ちなみに手動インストールする場合は次ページからzipでのダウンロードも可

https://ja.wordpress.org/plugins/search-regex/

インストールが完了したら「今すぐインストール」ボタンが「有効化」ボタンに変わるので必ずそれも押して有効化してください。

これでプラグインが使用可能になります。

Search Regexの基本的な使い方

このプラグインを使用するにはメニューから「ツール」ー>「Search Regex」を開きます

WordPress メニューから「ツール」ー>「Search Regex」をオープン

すると次のような検索・置換画面が表示されます。

Search Regexp の検索・置換画面

この画面でサイト内を検索・置換する基本的な使い方は次の通りです。

検索オプションの指定

まず検索や置換をする前に検索対象やどのように検索結果を表示するかのオプションを指定しましょう。

次のような項目がオプションとして選択可能です。

サイト内の検索対象

サイト内のどのような情報に対して検索・置換を行うかについては次のように「Source」の横にあるドロップダウンメニューから選ぶことができます。

Search Regexp - 検索・置換オプション

ここで検索対象として選択可能なのは次の9つです。

  • Comment author(コメントを書いた人の名前)
  • Comment author(コメントを書いた人のメールアドレス)
  • Comment author URL(コメントを書いた人のウェブサイトアドレス)
  • Comment content(コメント本文)
  • Post content(記事本文)
  • Post excerpt(記事抜粋)
  • Post meta value(記事のメタ情報)
  • Post title(記事タイトル)
  • Post URL(記事のパーマリンクURL)

もし記事内のURLや単語・表現を変換したい場合は「Post content」を選んでおけば間違いありません。

検索結果の表示件数

検索したときにそれに該当する結果を何件表示するかについては次の「Limit to」という設定項目から選択できます。

Search Regexp - 結果を何件まで表示するかは「Limit to」から選択

このプションでは検索結果に表示する件数を無制限(No limit)、10件、25件、50件、100件の内から選べます。

検索結果の順序

検索結果をどのような順番で表示するかについては次のように「Order by」という項目で「Ascending」と「Descending」の2つの内から選択することができます。

Search Regexp - 検索・置換結果をどういう順序で表示するか選択

Ascending」を選ぶと値が大きい順に検索結果が昇順で表示され、「Descending」を選ぶと値が小さい順に検索結果が降順で表示されるようになります。

語句の検索

サイト内のコンテンツなどに対して単語や表現を検索するには「Search pattern」に検索したいキーワードを入力して()、「Search」ボタンを押す()だけです。

Search Regexp - 検索するには「Search pattern」に検索キーワードを入力し、「Search」ボタンを押せばOK

検索を開始してしばらくすると次のように検索語が赤字で強調された検索結果が一覧表示されます。

Search Regexp - 検索したキーワードの検索結果

語句の置換

一旦語句の置換をするとその変更を元に戻すことはできないので万が一誤って置換してしまった時のために必ずデータベースのバックアップはとっておいてください。

サイト内の語句を置換するにはまず「Search pattern」に置換対象の語句を入力()、「Replace pattern」に置換したい語句を入力()して「Replace & Save」ボタンを押します()。

Search Regexp - 置換するには「Search pattern」に置換対象語句を入力、「Replace pattern」に置換パターンを入力して「Replace & Save」ボタンをクリック

置換が完了すると画面上の方に置換完了のメッセージが表示されます。

もし置換する前にどのような結果になるかを知りたい場合は検索語と置換後を入力したうえで「Replace」ボタンを押してください。

Search Regexp - 置換結果がどうなるか確認するには「Replace」ボタンをクリック

すると次のように画面下に置換後の結果がプレビュー表示されます。

Search Regexp - 置換後結果のプレビュー画面

いきなり置換を行うのはリスクが高いのでこのようにどのような結果になるかをプレビュー表示で確認してから実際に置換を行った方が安全だと思います。

正規表現を使って語句を検索する方法

Search Regexではただ単語を検索するだけではなく正規表現を使って柔軟に語句を検索することも可能です。ここではその基本的な使い方といくつかの便利な正規表現について紹介します。

正規表現の基本的な使い方

正規表現は基本的に次のような形で記述します。

/検索パターン/

検索パターンを 「/」 で囲むことでプラグインが正規表現とみなし、その検索パターンに該当する全ての語句が検索対象になります。

例えば記事内にある次の2つの語句を検索したいとします。

WordPressプラグイン
WordPressテーマ

もし地道に検索しようとすると「WordPressプラグイン」と「WordPressテーマ」を別々に分けて2回検索しなくてはなりませんが正規表現を使うと次の1つの表現を入力するだけで検索が可能です。

/WordPress(プラグイン|テーマ)/

実際の検索・置換画面では次のように「Search pattern」にこの正規表現を入力し、「Regex:」の横にあるチェックボックス全てにチェックを入れます。

そして「Search」ボタンを押すと正規表現に該当する語句が次のように一覧表示されます。

以上がSearch Regexでの正規表現の基本的な使い方です。

よく使う正規表現

次に正規表現の中でもよく使うので知っておいた方がいい表現をいくつか紹介します。

1文字にマッチさせる

正規表現では文章などの途中に出てくる特定の文字にマッチさせたい場合、次のようにマッチさせたい文字の集まりを [ ] で囲みます

[abc]

この表現の使い方ですがこれを使うと例えば見出しタグの<h1>~<h6>を次のように1つの表現で表すことが可能です。

/<h[123456]>/

また文字コード的に連続した文字が並んでいる場合は「-」を使い省略して書くこともできます。例えば以下がその正規表現の例です。

  • 0~9までの数字にマッチ
    /[0-9]/
  • a~zまでの文字にマッチ
    /[a-z]/
  • A~Zまでの文字にマッチ
    /[A-Z]/
  • 半角英数字にマッチ
    /[0-9a-zA-Z]/

またある文字がないときにマッチさせたい場合は次のように大かっこの最初に「^」を置いて文字を否定します

/[^abc]/

上の正規表現は「a」「b」「c」を含まない任意の1文字にマッチします。

複数文字列の検索

2つ以上の複数文字列を検索したい場合は文字列を「|」で区切ります。例えば「wordpress」と「ワードプレス」の2つの文字列を検索したい場合は次のように記述します。

/wordpress|ワードプレス/

またマッチさせたい文字列の一部に複数文字列を入れたい場合は次のように複数文字列を ( ) で囲ってサブパターンを作ります

/(wordpress|ワードプレス)テーマ/

この例は「wordpressテーマ」あるいは「ワードプレステーマ」のいずれかの文字列にマッチします。

連続する文字を検索

連続する文字列を検索したい場合は「+」または「*」を使います。

まず「+」はその直前の文字が1文字以上使われている場合にマッチします。次が「+」を使った正規表現の例です。

/go+gle/

この場合「+」の前の文字「o」が1回以上連続する「google」や「gooogle」などの文字列にマッチします。

また「*」はその直前の文字が0文字以上連続している場合にマッチします。次が「*」を使った正規表現の例です。

/go*gle/

この場合は「+」と違い、「gogle」のような文字が連続していないパターンも一致するようになります。

文字のエスケープ

これまで紹介したように正規表現中には「/」、「|」、「+」、「*」などの記号が使われ、正規表現の中で特別な意味を持つのでメタ文字と呼ばれています。

これらのメタ文字自体にマッチさせたい場合は\」をメタ文字の前に置いて普通の文字として認識(エスケープ)できるようにしなくてはなりません

例えばURLを正規表現で表す場合は「/」、「:」、「-」などの記号が含まれるので次のようにそれらの文字の前に「\」を置いてエスケープします。

/htttp\:\/\/fukuro\-press\//

上の例の正規表現は「http://fukuro-press/」を表しています

検索対象が半角英数字やひらがな・漢字だけなら問題ないですが、正規表現中に記号が含まれている場合は必ず「\」を使ってエスケープするようにしましょう。

正規表現をもっと詳しく学ぶなら・・・

上で紹介した正規表現はほんの一部です。もっと複雑な検索とか置換をしたい場合は他の表現についても知っておくと便利だと思います。

もしさらに詳しく知りたい方はネットで調べたり、本(電子書籍)を読んでください。

[改訂新版]正規表現ポケットリファレンス[電子書籍版]

created by Rinker

詳説正規表現第3版 [ ジェフリー・E.F.フリードル ]

created by Rinker

ただし正規表現は無理してまで覚える必要があるものではありません。でも作業を効率よく進めたいなら覚えておいて損はないはずです。

まとめ

記事内の語句や表現を1つ1つ手動で修正すると時間がかかりすぎてしまいます。

しかしここで紹介したプラグインを使えば簡単です。正規表現も利用すれば複雑な条件で検索とか置換もできて便利ですね。

以上 Search Regex プラグインの使い方についてでした。

The following two tabs change content below.

フク郎

昔はプログラミングに熱中していたが、ブログとWordPressに興味を持ち始め今はサイト・ブログ作りが生きがい。自分の「好き」をブログに変えたい、情報発信したい人に役立つWordPress術・サイト構築術を発信中。一日一歩楽しんでブログ構築できるように読みやすい&楽しい記事作りを心がけています。Twitterアカウントはこちら ⇒ フク郎@Fukuro-Press