今回はWordPressのプラグインSearch Regexの「インストール方法」「使い方」「すぐ使える正規表現」を紹介していきます。
初心者の方でもすぐに使える正規表現や、エラーが起きた場合の解決方法など書いています。
ぶたさん
このページの目次
1. インストール方法
まずはSearch Regexをインストールしましょう。とても簡単なので1分もかからないと思います。
新規追加する
「Search Regex」で検索する
インストールする
有効化する
実行方法
完了
2. 画面の見方
Source(検索場所)
Sourceでは置換えしたい場所を指定できます。
Limit to:(制限の設定)
Limit to:では置換制限ができます。
デフォルトのままでOKです。
Order By:(並び替え)
Order By:では並べ替えを指定できます。
デフォルトのままでOKです。
3. 通常の置換方法
ここからは通常の置換を試してみましょう。
設定方法
文字を入力する
検索する
置換プレビューを確認
置換を実行する
置換成功
ノーノちゃん
ぶたさん
4. 正規表現とは
正規表現とは簡単にいうと、さまざまな文字を記号で表したものです。
正規表現を使うと、通常では引っかからない文字が検索できます。
言葉だけでは伝わりにくいので、実際に「通常検索」と「正規表現を使った検索」の違いを見比べてみましょう。
検索する文章
通常検索
正規表現で検索
通常検索では0件でしたが、正規表現を使った検索では2件引っかかりました。
このように正規表現を使うと、通常ではできない検索が可能になります。
正規表現を使ってできること
正規表現を使うと、つぎのようなこともできます。
- 複数まとめて置換
- 複数行ある文字を置換
- ランダムに並んだ文字を置換
- 特定の文字を残して置換
- 詰まった文章を改行
- シュートコードやHTMLタグを一括置換
通常はひとつずつ手作業するところを、一発で置換できるため作業効率が何倍もアップします。
ノーノちゃん
ぶたさん
正規表現一覧表
Search Regexでは「検索時」と「置換時」に使う正規表現があります。
少し難しいかもしれませんが、軽く目を通しておきましょう。
検索時に使う正規表現
. | どんな文字の代わりになるジョーカーのようなもの。 例1)「こ.ばんは」→「こんばんは」 例2)「こ…は」→「こんにちは」「こんばんは」 |
---|---|
* | 直前の文字の0回以上繰り返し 例)「ABCDE*」→「ABCD」「ABCDE」「ABCDEE」「ABCDEEEEE」 |
+ | 直前の文字の1回以上繰り返し 例)「ABCDE+」→「ABCDE」「ABCDEE」「ABCDEEEEE」 |
? | 直前の文字の0回か1回繰り返し 例)「ABCDE?」→「ABCD」「ABCDE」 |
.* | どんな文字の代わりになる。長い文のときに使います。 例)「た.*い」→「たのしい」「たいやきが安い」「たまには焼肉が食べたい。でもダイエットのため我慢しています。」 |
.*? | どんな文字の代わりになる。短い文のときに使います。 例)「た.*?い」→「たのしい」「たいやきが安い」「たまには焼肉が食べたい。でもダイエットのため我慢しています。」 |
[ ] | [ ]内のどれかの文字 例)「ファイル[123]」→「ファイル1」「ファイル2」「ファイル3」 |
( ) | ( )内をグループ化して検索できます。2通り以上検索したい場合に役立ちます。 例)「もうすぐ(春|夏|秋)です」→「もうすぐ春です」「もうすぐ夏です」「もうすぐ秋です」 |
{ } | { }直前の文字の繰り返し 例)「ABC{3}」→「ABCCC」 |
文字|文字 | 左右の文字のどちらか(又はどちらも) 例1)「セール|特売」→「セール」「特売」 例2)「カニ|カレー|牛肉」→「カニ」「カレー」「牛肉」 |
^ | 行頭 |
$ | 行末 |
\d | すべての数字 例)「\d」→「0」「1」「2」「3」~ |
\w | すべての英数字と半角アンダーバー 例)「\w」→「a」「b」「1」「2」「_」~ |
\n | 改行 |
\s | 半角空白 |
\ | 「\」の直前の記号を正規表現でも通常文字として扱う ※エスケープと呼ばれています 例)「Apple\(アップル\)」←( )が通常文字として扱われる |
置換時に使う正規表現
$1 | ( )グループ内の文字を置換えない |
---|
正規表現を使う際の注意点
正規表現を使う際は、つぎの3点を確認しましょう。
①両側を囲う
②チェックを入れる
③記号を除外
検索する際に、下記の記号は正規表現として扱われるため、除外する必要があります。
除外した例
検索 |
iim
コピー
|
---|
検索 |
iim
コピー
|
---|
検索 |
iim
コピー
|
---|
5. プラグインのカスタマイズ
デフォルトの状態では「改行を含む置換」や「カスタム投稿の置換」が使えません。
使えるようにするためにプラグインをカスタマイズしていきましょう。
ノーノちゃん
ぶたさん
【重要】置換時に改行したい
置換時に\n(改行)を使えるようにプラグインのカスタマイズしていきましょう。
プラグインエディターを開く
Search Regexの編集画面を開く
post_content.phpを開く
コードを編集する
// 改行を有効にするコード
function replace_content ($id, $content)
{
global $wpdb;
$content = str_replace('"', '\"', $content);
$wpdb->query ( "UPDATE {$wpdb->posts} SET post_content=\"{$content}\" WHERE ID=\"{$id}\";" );
}
ファイルを更新する
完了
下記のサイトを参考にしました
参考
WordPressプラグイン「Search Regex」を利用して置換対象に改行を追加するつばさのーと
カスタム投稿を置換したい
※カスタム投稿を使っていない方はカスタマイズする必要はありません。
プラグインエディターを開く
Search Regexの編集画面を開く
post_content.phpを開く
コードを編集する
// 編集前
$sql = "SELECT ID, post_content, post_title FROM {$wpdb->posts} WHERE post_status != 'inherit' AND post_type IN ('post','page') ORDER BY ID ".$orderby;
// 編集後(そのままコピペしてOKです)
$sql = "SELECT ID, post_content, post_title FROM {$wpdb->posts} WHERE post_status != 'inherit' ORDER BY ID ".$orderby;
ファイルを更新する
完了
下記のサイトを参考にしました
参考
プラグイン【Search Regex】をカスタム投稿でも使えるようにするDesignSupply.
6. コピペで使える正規表現(削除編)
目次 | |
---|---|
| HTMLタグ |
target blank | グーグルアドセンス |
はてなキーワード | YouTube |
WordPressのビジュアルエディタでは連続改行すると が自動挿入されます。
ビジュアルでは表示されませんが、テキストで確認すると がいくつも並び非常に見づらいです。つぎの方法を使えば一括削除できます。
検索 | |
---|---|
置換 |
1月はお正月です。
1月はお正月です。
HTMLタグ
文章のみを残してHTMLタグをすべて一括削除する方法です。
サイトの装飾をすべて変えたい時などに使いましょう。
検索 | |<.*?>| |
---|---|
置換 |
<span class="big">
検索時に使う正規表現
.*? |
検索「|<.*?>|」 ↓ 結果「<span class="b"> <span class="big">」 解説「.*?=すべての文字の代わりになる」 |
---|
target blank
target=”_blank”(新しいウィンドウで開く)を一括で削除する方法です。
内部リンクをすべて「そのままのウィンドウで開く」にしたい場合など使いましょう。
検索 | |<a href="https://www.example.com/(.*?)/" rel="(.*?)" target="_blank">(.*?)</a>| |
---|---|
置換 | <a href="https://www.example.com/$1/" rel="$2">$3</a> |
検索時に使う正規表現
(.*?) |
検索「|<a href="https://www.example.com/(.*?)" rel="(.*?)" target="_blank">(.*?)</a>|」 ↓ 結果「<a href="https://www.example.com/category001/" rel="noopener" target="_blank">サイト名</a>」 解説「.*?=すべての文字の代わりになる ( )=グループ1」 |
---|---|
(.*?) |
検索「|<a href="https://www.example.com/(.*?)" rel="(.*?)" target="_blank">(.*?)</a>|」 ↓ 結果「<a href="https://www.example.com/category001/" rel="noopener" target="_blank">サイト名</a>」 解説「.*?=すべての文字の代わりになる ( )=グループ2」 |
(.*?) |
検索「|<a href="https://www.example.com/(.*?)" rel="(.*?)" target="_blank">(.*?)</a>|」 ↓ 結果「<a href="https://www.example.com/category001/" rel="noopener" target="_blank">サイト名</a>」 解説「.*?=すべての文字の代わりになる ( )=グループ3」 |
置換時に使う正規表現
$1~3 |
検索「|<a href="https://www.example.com/(.*?)" rel="(.*?)" target="_blank">(.*?)</a>|」 ↓ 置換「<a href="https://www.example.com/$1/" rel="$2">$3</a>」 ↓ 結果「<a href="https://www.example.com/category001/" rel="noopener">サイト名</a>」 解説「$1=グループ1を置換えない」 |
---|
グーグルアドセンス
記事内に挿入したGoogle Adsense(グーグルアドセンス)のコードを一括削除する方法です。
検索 | |<script async src="//pagead2.googlesyndication.com/(.*(\s)*.*)*?\s*</script>| |
---|---|
置換 |
<!– 広告ユニット名 –>
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-000000000000000"
data-ad-slot="000000000"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
検索時に使う正規表現
(.*(\s)*.*)*?\s* |
検索「|<script async src="//pagead2.googlesyndication.com/(.*(\s)*.*)*?\s*</script>|」 ↓ 結果「<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><!– example.com 投稿ページ –><insclass="adsbygoogle"style="display:block"data-ad-client="ca-pub-000000000000000"<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>」 解説「.*=すべての文字の代わりになる \s=半角空行 ( )=グループ」 |
---|
はてなキーワード
はてなブログのはてなキーワード(自動リンクタグ)を一括削除する方法です。
はてなブログからWordPressに以降した際などに役立ちます。
検索 | |<a class="keyword" href="http://d.hatena.ne.jp/keyword/(.*?)>(.*?)</a>| |
---|---|
置換 | $2 |
検索時に使う正規表現
(.*?) |
検索「|~hatena.ne.jp/keyword/(.*?)>(.*?)</a>|」 ↓ 結果「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA%A5%C0%A5%A4%A5%A2%A5%EA%A1%BC">はてなダイアリー</a>」 解説「.*?=すべての文字の代わりになる ( )=グループ1」 |
---|---|
(.*?) |
検索「|~hatena.ne.jp/keyword/(.*?)>(.*?)</a>|」 ↓ 結果「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA%A5%C0%A5%A4%A5%A2%A5%EA%A1%BC">はてなダイアリー</a>」 解説「.*?=すべての文字の代わりになる ( )=グループ2」 |
置換時に使う正規表現
$2 |
検索「|~hatena.ne.jp/keyword/(.*?)>(.*?)</a>|」 ↓ 置換「$2」 ↓ 結果「はてなダイアリー」 解説「$2=グループ2を置換えない」 |
---|
YouTube
YouTubeの埋め込みコードを一括で削除する方法です。
検索 | |<iframe width="\d{2,4}" height="\d{2,4}" src="https://www.youtube.com/.*?</iframe>| |
---|---|
置換 |
検索時に使う正規表現
\d{2,4} |
検索「|<iframe width="\d{2,4}" height=".*?" src="https://www.youtube.com/.*?</iframe>|」 ↓ 結果「<iframe width="560" height="315" src="https://www.youtube.com/embed/0000000" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>」 解説「\d=数字 {2,4}=2~4桁」 |
---|---|
\d{2,4} |
検索「|<iframe width="\d{2,4}" height="\d{2,4}" src="https://www.youtube.com/.*?</iframe>|」 ↓ 結果「<iframe width="560" height="315" src="https://www.youtube.com/embed/0000000" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>」 解説「\d=数字 {2,4}=2~4桁」 |
.*? |
検索「|<iframe width="\d{2,4}" height="\d{2,4}" src="https://www.youtube.com/.*?</iframe>|」 ↓ 結果「<iframe width="560" height="315" src="https://www.youtube.com/embed/0000000" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>」 解説「.*?=すべての文字の代わりになる(短い文字の時に使います)」 |
Twitterの埋め込みコードを一括で削除する方法です。
検索 | |<blockquote class="twitter-tweet"(.*(\n).*)twitter.com/widgets.js" charset="utf-8"></script>| |
---|---|
置換 |
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
検索時に使う正規表現
(.*(\n).*) |
検索「|<blockquote class="twitter-tweet"(.*(\n).*)twitter.com/widgets.js" charset="utf-8"></script>|」 ↓ 結果「<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">(中略)</a></blockquote><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>」 解説「.*=すべての文字の代わりになる \n=改行 ( )=グループ」 |
---|
Facebookの埋め込みコードを一括で削除する方法です。
検索 | |<iframe src="https://www.facebook.*?"encrypted-media"></iframe>| |
---|---|
置換 |
検索時に使う正規表現
.*? |
検索「|<iframe src="https://www.facebook.*?"encrypted-media"></iframe>|」 ↓ 結果「<iframe src="https://www.facebook.com/plugins/post.php?href=https%5B%2F%2Fwww.facebook.com%2FFacebookJapan%2Fposts%22FT46F1015677422&width=500" width="500" height="890" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allow="encrypted-media"></iframe>」 解説「.*?=すべての文字の代わりになる」 |
---|
Instagramの埋め込みコードを一括で削除する方法です。
検索 | |<blockquote class="instagram-media".*?instagram.com/embed.js"></script>| |
---|---|
置換 |
検索時に使う正規表現
.*? |
検索「|<blockquote class="instagram-media".*?instagram.com/embed.js"></script>|」 ↓ 結果「<blockquote class="instagram-media" data-instgrm-captioned data-instgrm-permalink="https://www.instagram.com/p/Bxa711DBNmb/" data-instgrm-version="12" style=" background:#FFF; border:0; (中略)<script async src="//www.instagram.com/embed.js"></script>」 解説「.*?=すべての文字の代わりになる」 |
---|
7. コピペで使える正規表現(置換編)
目次 | |
---|---|
http→https | ショートコード |
画像の表示位置 | 見出し |
行末改行 | 電話番号 |
特定文字を残す | 日付表示 |
http→https
SSL化した際に内部リンクをhttp→httpsに一括置換する方法です。
検索 | http://www.example.com/ |
---|---|
置換 | https://www.example.com/ |
ショートコード
下記の方法を使えばショートコードを一括で置換する方法です。
WordPressテーマを変更した際、新しいテーマのショートコードに差し替える作業が短縮できます。
STORK→SANGO
テーマを「STORK」から「SANGO」へ変更した場合です。
ここでは赤色ボックス(STORK)を注意ボックス(SANGO)に変更する方法を紹介しています。
検索 |
iim
コピー
|
---|---|
置換 |
iim
コピー
|
[box class="red_box" title="注意"]明日は雨です[/box]
[alert title="注意"]明日は雨です[/alert]
検索時に使う正規表現
\ |
iim
コピー
↓ |
---|---|
(.*?) |
iim
コピー
↓
iim
コピー
↓ |
(.*?) |
iim
コピー
↓
iim
コピー
↓ |
置換時に使う正規表現
$1~2 |
iim
コピー
↓
iim
コピー
↓
iim
コピー
|
---|
賢威のテンプレート→SANGO
テーマを「賢威のテンプレート」から「SANGO」へ変更した場合です。
ここでは赤色ボックス(賢威のテンプレート)を注意ボックス(SANGO)に変更する方法を紹介しています。
検索 |
iim
コピー
|
---|---|
置換 |
iim
コピー
|
[box class="box_style_red" title="注意"]明日は雨です[/box]
[alert title="注意"]明日は雨です[/alert]
検索時に使う正規表現
\ |
iim
コピー
↓ |
---|---|
(.*?) |
iim
コピー
↓
iim
コピー
↓ |
(.*?) |
iim
コピー
↓
iim
コピー
↓ |
置換時に使う正規表現
$1~2 |
iim
コピー
↓
iim
コピー
↓
iim
コピー
|
---|
賢威のテンプレート→SANGO(HTMLタグに置換)
テーマを「賢威のテンプレート」から「SANGO」へ変更した場合です。
ここでは赤色フォント(賢威のテンプレート)を赤色フォント(SANGO)に変更する方法を紹介しています。
検索 |
iim
コピー
|
---|---|
置換 | <span class="red">$1</span> |
[text color=red]文字が赤色になります[/text]
<span class="red">文字が赤色になります</span>
検索時に使う正規表現
\ |
iim
コピー
↓
iim
コピー
↓ |
---|---|
(.*?) |
iim
コピー
↓
iim
コピー
↓ |
置換時に使う正規表現
$1 |
iim
コピー
↓ iim
コピー
|
---|
画像の表示位置
画像の表示位置を左寄せ、右寄せ、中央寄せなどに一括で変更する方法です。
左寄せ
表示位置デフォルトを一括で左寄せにする方法です。
検索 | |<img src="https://example.com/wp-content/uploads/(.*?)" alt="(.*?)" />| |
---|---|
置換 | <img class="alignleft" src="https://example.com/wp-content/uploads/$1" alt="$2" /> |
検索時に使う正規表現
(.*?) |
検索「|~/wp-content/uploads/(.*?)" alt="(.*?)" />|」 ↓ 結果「~/wp-content/uploads/5-300×180.png" alt="画像" />」 解説「.*?=すべての文字の代わりになる ( )=グループ1」 |
---|---|
(.*?) |
検索「|~/wp-content/uploads/(.*?)" alt="(.*?)" />|」 ↓ 結果「~/wp-content/uploads/5-300×180.png" alt="画像" />」 解説「.*?=すべての文字の代わりになる ( )=グループ2」 |
置換時に使う正規表現
$1~$2 |
検索「|~/wp-content/uploads/(.*?)" alt="(.*?)" />|」 ↓ 置換「~/wp-content/uploads/$1" alt="$2" />」 ↓ 結果「~/wp-content/uploads/5-300×180.png" alt="画像" />」 解説「$1=グループ1を置換えない」 |
---|
右寄せ
表示位置デフォルトを一括で右寄せにする方法です。
検索 | |<img src="https://example.com/wp-content/uploads/(.*?)" alt="(.*?)" />| |
---|---|
置換 | <img class="alignright" src="https://example.com/wp-content/uploads/$1" alt="$2" /> |
検索時に使う正規表現
(.*?) |
検索「|~/wp-content/uploads/(.*?)" alt="(.*?)" />|」 ↓ 結果「~/wp-content/uploads/5-300×180.png" alt="画像" />」 解説「.*?=すべての文字の代わりになる ( )=グループ1」 |
---|---|
(.*?) |
検索「|~/wp-content/uploads/(.*?)" alt="(.*?)" />|」 ↓ 結果「~/wp-content/uploads/5-300×180.png" alt="画像" />」 解説「.*?=すべての文字の代わりになる ( )=グループ2」 |
置換時に使う正規表現
$1~$2 |
検索「|~/wp-content/uploads/(.*?)" alt="(.*?)" />|」 ↓ 置換「~/wp-content/uploads/$1" alt="$2" />」 ↓ 結果「~/wp-content/uploads/5-300×180.png" alt="画像" />」 解説「$1=グループ1を置換えない」 |
---|
中央寄せ
表示位置デフォルトを一括で中央寄せにする方法です。
検索 | |<img src="https://example.com/wp-content/uploads/(.*?)" alt="(.*?)" />| |
---|---|
置換 | <img class="aligncenter" src="https://example.com/wp-content/uploads/$1" alt="$2" /> |
検索時に使う正規表現
(.*?) |
検索「|~/wp-content/uploads/(.*?)" alt="(.*?)" />|」 ↓ 結果「~/wp-content/uploads/5-300×180.png" alt="画像" />」 解説「.*?=すべての文字の代わりになる ( )=グループ1」 |
---|---|
(.*?) |
検索「|~/wp-content/uploads/(.*?)" alt="(.*?)" />|」 ↓ 結果「~/wp-content/uploads/5-300×180.png" alt="画像" />」 解説「.*?=すべての文字の代わりになる ( )=グループ2」 |
置換時に使う正規表現
$1~$2 |
検索「|~/wp-content/uploads/(.*?)" alt="(.*?)" />|」 ↓ 置換「~/wp-content/uploads/$1" alt="$2" />」 ↓ 結果「~/wp-content/uploads/5-300×180.png" alt="画像" />」 解説「$1=グループ1を置換えない」 |
---|
デフォルト
中央寄せを一括でデフォルトに戻す方法です。
検索 | |<img class="(.*?)" src="https://example.com/wp-content/uploads/(.*?)" alt="(.*?)" />| |
---|---|
置換 | <img src="https://example.com/wp-content/uploads/$2" alt="$3" /> |
検索時に使う正規表現
(.*?) |
検索「|<img class="(.*?)" src="https://example.com/wp-content/uploads/(.*?)" alt="(.*?)" />|」 ↓ 結果「<img class="aligncenter" src="https://example.com/wp-content/uploads/5-300×180.png" alt="画像" />」 解説「.*?=すべての文字の代わりになる ( )=グループ1」 |
---|---|
(.*?) |
検索「|<img class="(.*?)" src="https://example.com/wp-content/uploads/(.*?)" alt="(.*?)" />|」 ↓ 結果「<img class="aligncenter" src="https://example.com/wp-content/uploads/5-300×180.png" alt="画像" />」 解説「.*?=すべての文字の代わりになる ( )=グループ2」 |
(.*?) |
検索「|<img class="(.*?)" src="https://example.com/wp-content/uploads/(.*?)" alt="(.*?)" />|」 ↓ 結果「<img class="aligncenter" src="https://example.com/wp-content/uploads/5-300×180.png" alt="画像" />」 解説「.*?=すべての文字の代わりになる ( )=グループ3」 |
置換時に使う正規表現
$1~$3 |
検索「|<img class="(.*?)" src="https://example.com/wp-content/uploads/(.*?)" alt="(.*?)" />|」 ↓ 置換「<img src="https://example.com/wp-content/uploads/$2" alt="$3" />」 ↓ 結果「<img src="https://example.com/wp-content/uploads/5-300×180.png" alt="画像" />」 解説「$2=グループ2を置換えない」 |
---|
見出し
タイトルのみ置換
HTMLタグはそのままで、タイトル前後に文字を付け加える方法です。
検索 | |<h2>(.*?)</2>| |
---|---|
置換 | <h2>【初級編】$1</h2> |
<h2>エクセルのインストール方法</h2>
<h2>【初級編】エクセルのインストール方法</h2>
検索時に使う正規表現
(.*?) |
検索「|<h2>(.*?)</2>|」 ↓ 結果「<h2>だれでも分かるエクセル入門</h2> <h2>エクセルのインストール方法</h2>」 解説「.*?=すべての文字の代わりになる ( )=グループ1」 |
---|
置換時に使う正規表現
$1 |
検索「|<h2>(.*?)</2>|」 ↓ 置換「<h2>【初級編】$1</h2>」 ↓ 結果「<h2>【初級編】だれでも分かるエクセル入門</h2> <h2>【初級編】エクセルのインストール方法</h2>」 解説「$1=グループ1を置換えない」 |
---|
h1~タグのみ置換
タイトルをそのままにしてHTMLタグのみ置換える方法です。
検索 | |<h2>(.*?)</h2>| |
---|---|
置換 | <h3>$1</h3> |
検索時に使う正規表現
(.*?) |
検索「|<h2>(.*?)</2>|」 ↓ 結果「<h2>だれでも分かるエクセル入門</h2>」 解説「.*?=すべての文字の代わりになる ( )=グループ1」 |
---|
置換時に使う正規表現
$1 |
検索「|<h2>(.*?)</2>|」 ↓ 置換「<h3>$1</h3>」 ↓ 結果「<h3>だれでも分かるエクセル入門</h3>」 解説「$1=グループ1を置換えない」 |
---|
行末改行
詰まって見にくい文章を一括で改行する方法です。
ここでは「。(句点)」から改行を2つ追加し、見やすくする方法を紹介しています。
※改行するだけであれば\nを1つだけにすればOKです。
検索 | |(.*?)。| |
---|---|
置換 | $1。\n\n |
「使える表現」「使えない表現」をまとめましたので目を通しておきましょう。
検索時に使う正規表現
(.*?) |
検索「|(.*?)。|」 ↓ 結果「Search Regexでは使える正規表現が限られています。「使える表現」「使えない表現」をまとめましたので目を通しておきましょう。」 解説「.*?=すべての文字の代わりになる ( )=グループ」 |
---|
置換時に使う正規表現
$1 |
検索「|(.*?)。|」 ↓ 置換「$1。\n\n」 ↓ 結果「Search Regexでは使える正規表現が限られています。 「使える表現」「使えない表現」をまとめましたので目を通しておきましょう。」 解説「$1=グループを置換えない」 |
---|---|
\n |
「\n=改行」 ※今回は\n\nなので2回改行するという意味です。 |
電話番号
電話番号の表示を一括置換する方法です。
ハイフンを付ける
検索 | |(0\d{2})(\d{4})(\d{4})| |
---|---|
置換 | $1–$2–$3 |
※上記の方法で「090」「080」「070」からはじまる番号も検索に引っかかります。
01001010101
010–0101–0101
検索時に使う正規表現
(\d{2}) |
検索「|(0\d{2})-(\d{4})-(\d{4})|」 ↓ 結果「01234567890 01001010101」 解説「\d=数字 {2}=2桁 ( )=グループ1」 |
---|---|
(\d{4}) |
検索「|(0\d{2})-(\d{4})-(\d{4})|」 ↓ 結果「01234567890 01001010101」 解説「\d=数字 {4}=4桁 ( )=グループ2」 |
(\d{4}) |
検索「|(0\d{2})(\d{4})(\d{4})|」 ↓ 結果「01234567890 01001010101」 解説「\d=数字 {4}=4桁 ( )=グループ3」 |
置換時に使う正規表現
$1~3 |
検索「|(0\d{2})(\d{4})(\d{4})|」 ↓ 置換「$1–$2–$3」 ↓ 結果「012–3456–7890 010–0101–0101」 解説「$1=グループ1を置換えない」 |
---|
ハイフンを消す
検索 | |(0\d{2})–(\d{4})–(\d{4})| |
---|---|
置換 | $1$2$3 |
※上記の方法で「090」「080」「070」からはじまる番号も検索に引っかかります。
010-0101-0101
01001010101
検索時に使う正規表現
(\d{2}) |
検索「|(0\d{2})-(\d{4})-(\d{4})|」 ↓ 結果「012-3456-7890 010-0101-0101」 解説「\d=数字 {2}=2桁 ( )=グループ1」 |
---|---|
(\d{4}) |
検索「|(0\d{2})-(\d{4})-(\d{4})|」 ↓ 結果「012-3456-7890 010-0101-0101」 解説「\d=数字 {4}=4桁 ( )=グループ2」 |
(\d{4}) |
検索「|(0\d{2})-(\d{4})-(\d{4})|」 ↓ 結果「012-3456-7890 010-0101-0101」 解説「\d=数字 {4}=4桁 ( )=グループ3」 |
置換時に使う正規表現
$1~3 |
検索「|(0\d{2})–(\d{4})–(\d{4})|」 ↓ 置換「$1$2$3」 ↓ 結果「01234567890 01001010101」 解説「$1=グループ1を置換えない」 |
---|
特定文字を残す
置換えたくない文字を残して、その他を置換する方法です。
パターン1
文章はそのままで、行末に「売り切れ」を加える方法です。
検索 | |初回限定(.*?)| |
---|---|
置換 | 初回限定$1 売り切れ |
初回限定CD
初回限定ブルーレイ
初回限定CD 売り切れ
初回限定ブルーレイ 売り切れ
検索時に使う正規表現
(.*?) |
検索「|初回限定(.*?)|」 ↓ 結果「初回限定DVD 初回限定CD 初回限定ブルーレイ」 解説「.*?=すべての文字の代わりになる ( )=グループ」 |
---|
置換時に使う正規表現
$1 |
検索「|初回限定(.*?)|」 ↓ 置換「初回限定$1 売り切れ」 ↓ 結果「初回限定DVD 売り切れ 初回限定CD 売り切れ 初回限定ブルーレイ 売り切れ」 解説「$1=グループを置換えない」 |
---|
パターン2
文章はそのままで、HTMLタグを太文字から大文字にする方法です。
検索 | |<span class="(.*?)">(.*?)</span>| |
---|---|
置換 | <span class="big">$2</span> |
<span class="red b">明日は雨です</span>
<span class="big">明日は雨です</span>
検索時に使う正規表現
(.*?) |
検索「|<span class="(.*?)">(.*?)</span>|」 ↓ 結果「<span class="b">今日は晴れです</span> <span class="red b">明日は雨です</span>」 解説「.*?=すべての文字の代わりになる ( )=グループ1」 |
---|---|
(.*?) |
検索「|<span class="(.*?)">(.*?)</span>|」 ↓ 結果「<span class="b">今日は晴れです</span> <span class="red b">明日は雨です</span>」 解説「.*?=すべての文字の代わりになる ( )=グループ2」 |
置換時に使う正規表現
$2 |
検索「|<span class="(.*?)">(.*?)</span>|」 ↓ 置換「<span class="big">$2</span>」 ↓ 結果「<span class="big">今日は晴れです</span> <span class="big">明日は雨です</span>」 解説「$2=グループ2を置換えない」 |
---|
パターン3
行頭の「ファイル」→英語
半角空白→_半角アンダーバー
それ以外は置換えない方法です。
検索 | |ファイル(\d+)\s(.*)| |
---|---|
置換 | File$1_$2 |
ファイル002 インストール
ファイル003 使い方
File002_インストール
File003_使い方
検索時に使う正規表現
(\d+) |
検索「|ファイル(\d+)\s(.*)|」 ↓ 結果「ファイル001 はじめに ファイル002 インストール ファイル003 使い方」 解説「\d=数字 +=直前の文字の1回以上連続 ( )=グループ1」 |
---|---|
\s(.*) |
検索「|ファイル(\d+)\s(.*)|」 ↓ 結果「ファイル001 はじめに ファイル002 インストール ファイル003 使い方」 解説「\s=半角空行 .*?=すべての文字の代わりになる ( )=グループ2」 |
置換時に使う正規表現
$1~2 |
検索「|ファイル(\d+)\s(.*)|」 ↓ 置換「File$1_$2」 ↓ 結果「File001_はじめに File002_インストール File003_使い方」 解説「$1=グループ1を置換えない」 |
---|
日付表示
2000/02/10→2000年02月10日
2000年02月10日→2000/02/10
上記のように日付表示を変更する方法です。
/(スラッシュ)→年月日
検索 | |(\d{4})/(\d{1,2})/(\d{1,2})| |
---|---|
置換 | $1年$2月$3日 |
2008/03/24
1990/9/29
2008年03月24日
1990年9月29日
検索時に使う正規表現
(\d{4}) |
検索「(\d{4})」 ↓ 結果「2019/05/15」 「2008/03/24」 「1990/9/29」 解説「\d=数字 {4}=4桁 ( )=グループ1」 |
---|---|
(\d{1,2}) |
検索「(\d{1,2})」 ↓ 結果「2019/05/15」 「2008/03/24」 「1990/9/29」 解説「\d=数字 {1,2}=1桁か2桁 ( )=グループ2」 |
(\d{1,2}) |
検索「(\d{1,2})」 ↓ 結果「2019/05/15」 「2008/03/24」 「1990/9/29」 解説「\d=数字 {1,2}=1桁か2桁 ( )=グループ3」 |
置換時に使う正規表現
$1~$3 |
検索「|(\d{4})/(\d{1,2})/(\d{1,2})|」 ↓ 置換「$1年$2月$3日」 ↓ 結果「2019年05月15日」 「2008年03月24日」 「1990年9月29日」 解説「$1=グループ1を置換えない」 |
---|
年月日→/(スラッシュ)
検索 | |(\d{4})年(\d{1,2})月(\d{1,2})日| |
---|---|
置換 | $1/$2/$3 |
2008年03月24日
1990年9月29日
2008/03/24
1990/9/29
検索時に使う正規表現
(\d{4}) |
検索「(\d{4})」 ↓ 結果「2019年05月15日」 「2008年03月24日」 「1990年9月29日」 解説「\d=数字 {4}=4桁 ( )=グループ1」 |
---|---|
(\d{1,2}) |
検索「(\d{1,2})」 ↓ 結果「2019年05月15日」 「2008年03月24日」 「1990年9月29日」 解説「\d=数字 {1,2}=1桁か2桁 ( )=グループ2」 |
(\d{1,2}) |
検索「(\d{1,2})」 ↓ 結果「2019年05月15日」 「2008年03月24日」 「1990年9月29日」 解説「\d=数字 {1,2}=1桁か2桁 ( )=グループ3」 |
置換時に使う正規表現
$1~$3 |
検索「|(\d{4})年(\d{1,2})月(\d{1,2})日|」 ↓ 置換「$1/$2/$3」 ↓ 結果「2019/05/15」 「2008/03/24」 「1990/9/29」 解説「$1=グループ1を置換えない」 |
---|
8. よくあるトラブル事例
Regexにチェックを入れているか確認しましょう。
|(半角縦線)で両側を囲っているか、もしくは余計な空白がないか確認しましょう。
$ \ ? () [] {}|などの特殊記号を\(バックスラッシュ)で除外しているか確認しましょう。
復元方法はこちらで説明しています。
検索結果が0件だった場合に表示されます。
このようなエラーメッセージは正規表現の書き方が間違っている場合に表示されます。もう一度正規表現一覧表を確認しましょう。
このようなエラーメッセージは|(半角縦線)で両側を囲っていない場合に表示されます。詳しくは正規表現を使う際の注意点でご参照ください。
こののようなエラーメッセージはSearch Regexで使えない正規表現を使用した場合に表示されます。正規表現一覧表に載っている表現だけを使いましょう。
サイトで技術的な問題が発生しています。サイト管理者のメールを確認して指示に従ってください。
上記の意味はサーバーのメモリが足らなくなった(大量に検索した)場合に表示されます。Limit to:(制限の設定)で検索数を100に変更すると置き換えができますが、上もしくは下から順番に100記事しか置換えできません。
解決方法はサーバーのメモリを増やして対応します。
※Xサーバーの場合の変更方法です。
ログインする
サーバー設定画面に移動する
ドメインを選ぶ
メモリを増やす
memory_limitの数値は1024Mで一度試して、それでもエラーが起きるなら2048Mに変更します。
変更する
今回の場合、WordPress がプラグイン Search Regex でエラーを捉えました。
この問題の解決方法は「プラグインのバージョンアップを待つ」か「プラグイン削除」するしかありません。数年前から更新されていないので、セキュリティ上あまり良くありません。使うとき以外は削除しておきましょう。
追記(2020/05/08):バージョン 2.0がリリースされました。上記の問題は最新バージョンにアップデートすると解決します。