「効率的にデータ抽出をしたい」「大量のテキストからURLの指定をするには?」

広告運用において正規表現の活用を検討するとき、このような悩みを抱えている方も多いでしょう。

正規表現は難しそうなイメージをもちやすいものの、実際に使用してみると想像よりも容易に活用できます。

本記事では正規表現についてお伝えするとともに、使用するメタ文字の役割を詳しく解説します。

表した正規表現のチェッカーについても紹介しますので、ぜひご覧ください。

youtubeチャンネルはじめました

広告運用に役立つ正規表現とは?

正規表現とはメタ文字という記号を使い、プログラミングにおける特定の文字列を指定して検索する手法です。

メタ文字の組み合わせを変えるとさまざまな文字列の指定ができ、特定のURLを抜粋したり必要な情報を抽出したりできます。

正規表現の活用は手作業と比較して情報抽出の漏れがなく、データ量が増加しても簡単に文字列を指定できるので、広告運用に役立つ手法といえるでしょう。

広告運用に正規表現を使うメリット

正規表現を活用すると、広告運用において作業効率化が図れ、文字の並びを簡潔に表現できるメリットがあります。

これらのメリットについて、詳しく解説していきます。

作業の効率化を図れる

正規表現によって、指定した条件と合致する文字列を1回で検索できるため、作業の効率化が可能です。

多くのデータが記載されているテキストから必要な情報を抽出する作業は、多くの時間がかかりますが、正規表現によって複数の修正や削除したい文字列・エラーの検索などが可能です。

正規表現を活用すると手動で作業する工程が減り、文書処理に費やす作業時間の削減に大いに役立つでしょう。

文字の並びを簡潔に表現できる

正規表現を活用すると文字の並び方を説明する際に、簡潔に見やすく表現できます。

たとえば指定したURLの末尾に「dejima」が含まれる文字列を、すべて表さなければならないとしましょう。

以下の表に正規表現を使用したときと、手作業で表した場合の例を記載しました。

正規表現を活用 手作業で表す場合
指定URLdejima.* 指定URLdejima1
指定URLdejima2
指定URLdejima3

手作業で行う場合は、対象となるすべての文字列を自分で入力する必要がありますが、正規表現を活用すると指定したURLの最後に「dejima.*」と表すだけですみます。

正規表現は手作業で表す場合と比較して簡潔な表現が可能なので、目を通したときに視認性が高くなります。

広告運用でよく使われる正規表現のメタ文字と役割

ここからは広告運用でよく活用される、7つの正規表現のメタ文字を紹介するとともに、それぞれのもつ役割について解説します。

  • 「^」「$」特定の語句による行頭と行末を指定する
  • 「|」前後に指定したいずれかの文字列を指定する
  • 「[ ]」「[ ]」囲まれた文字のうちのいずれかを指定する
  • 「.」任意の1文字を指定する
  • 「*」「+」「?」同一の文字を繰り返す
  • 「( )」文字列のグルーピングをする
  • 「¥」「\」文字列として直前の記号を検索する

順番に見ていきましょう。

「^」「$」特定の語句による行頭と行末を指定する

特定の語句で始まる文字列はメタ文字の「^」、終わる文字列は「$」を使用して指定できます。

以下の表に入力例を記載しました。

正規表現 ドメイン以下のURL
^/dejima /dejima
/dejima/labo
dejima/$ /dejima/
/labo/dejima

 

「/dejima」を含む文字列が先頭にあるURLを指定したい場合は、「^/dejima」という正規表現を活用します。

「^」は文字列の先頭を表すので、表のように「http://www.example.com/dejima」や「http://www.example.com/dejima/labo」のような、「/dejima」から始まるURLが抽出されます。

正規表現を活用して「dejima/」で終わる文字列を指定する場合は、「dejima/$」と表現しましょう。

文字列の最後を表すメタ文字の「$」によって、「http://www.example.com/dejima/」や「http://www.example.com/labo/dejima/」のように、前半に他の語句が入っている場合でも末尾が「dejima/」となっているURLが抽出されます。

正規表現では指定した文字列が、検索対象とするテキストのどこに位置していても、含まれている場合はマッチします。

先頭や最後など、文字列の位置を細かく指定したい場合は、正規表現の「^」や「$」を活用しましょう。

「|」前後で区切られたいずれかの文字列を指定する

「|」は前後で区切られた文字列のいずれかを指定するメタ文字で、「or」と同じ意味と捉えるとわかりやすいでしょう。

以下の表に、正規表現で「dejima|labo|gold」と、表した場合を例に挙げました。

正規表現 正規表現で指定される文字列
dejima|labo|gold http://www.example.com/dejima/
http://www.example.com/labo/ABC
http://www.example.com/ABC/gold/

 

「dejima|labo|gold」という正規表現を活用すると、メタ文字である「|」の前後に記載された、「dejima」「labo」「gold」のいずれかを含む文字列の指定ができます。

複数ある指定したい文字列のうち、どれか1つをマッチさせたいときに「|」を使用しましょう。

「[ ]」囲まれた文字のうちのいずれかを指定する

メタ文字の「[ ]」は、囲まれた文字のうち、いずれかを指定できます。

以下の表に、正規表現で「[ABC]」と「[ABC]D」の2つを表した場合の例を挙げました。

 

正規表現 正規表現で指定される文字列
[ABC] http://www.example.com/AD/
http://www.example.com/BD/
http://www.example.com/CD/
[ABC]D http://www.example.com/AD/
http://www.example.com/EEEAD/

 

正規表現で「[ABC]」と表すと、「[ ]」で囲まれたA・B・Cのいずれかの文字が含まれている、表のような文字列が指定対象です。

「[ABC]D」と表した場合は「[ ]」に囲まれていないDの前に、A・B・Cのいずれかの文字が含まれていると指定対象となり、正規表現にない「E」が仮に文字列に含まれていてもマッチします。

多くの場合「[ ]」は、半角英数字やアルファベットの指定に活用される正規表現であり、以下のように文字の範囲を定めてマッチさせることも可能です。

 

正規表現 正規表現で指定される文字列
[A-Z] 大文字の半角アルファベットのいずれか1文字
[0-9] 半角数字のいずれか1文字
[A-Z0-9] 大文字の半角アルファベットもしくは半角数字のいずれか1文字

さらにメタ文字の「^」を活用すると、「[ ]」で囲まれた文字を「含まない」という意味の正規表現で表せます。

行頭を表す「^」の使い方とは異なるので、注意しましょう。

以下の表に、正規表現で「[^AB]C」と表した場合の例を挙げました。

正規表現 正規表現で指定される文字列
[^AB]C http://www.example.com/DC/
http://www.example.com/EC/

 

「[^AB]C」と表すと、Cの前にA・Bを含まない文字列がマッチします。

正規表現における「[ ]」は、指定方法が幅広いので、用途に合わせて使い分けましょう。

「.」任意の1文字を指定する

英語や数字・日本語・スペースなど、とくに指定のない何か1文字とマッチさせたいときに「.」を使用します。

以下の表に「.」を活用した、正規表現の例を記載しました。

正規表現 正規表現で指定される文字列
http://www.example.com/A. http://www.example.com/AB
http://www.example.com/A.B http://www.example.com/ACB
http://www.example.com/.. http://www.example.com/DC/
http://www.example.com/EC/

 

「.」はどのような文字でもいいため、2つ重ねると表からわかるとおり、任意の2文字の指定も可能です。

ただし「.」は任意の1文字のため、「http://www.example.com/」のように指定した箇所に文字列がなければマッチしません。

「*」「+」「?」同一の文字を繰り返す

「*」「+」「?」は、同じ文字を繰り返すときに使用するメタ文字であり、直前の文字を含むか否かと、複数回マッチさせるかに違いがあります。

「*」は直前の文字を繰り返すときもしくは、ない場合に使用するメタ文字であり、以下の表に例を記載しました。

正規表現 正規表現で指定される文字列
http://www.example.com/AB*C http://www.example.com/ABC
http://www.example.com/ABBBC
http://www.example.com/AC

 

「*」の直前にあるBが繰り返されていたり、なかったりする場合に、表のような文字列がマッチします。

「+」は直前の文字が少なくとも、1回以上連続する文字列とマッチさせたいときに使用するメタ文字であり、以下の表に例を記載しました。

正規表現 正規表現で指定される文字列
http://www.example.com/AB+C http://www.example.com/ABC
http://www.example.com/ABBBC

 

「+」は直前にあるBが1回でも入っていなければ指定対象とはならないため、「*」とは異なり、「http://www.example.com/AC」はマッチしません。

「?」は利用頻度が比較的少ないメタ文字で、直前の文字がない場合や、1つだけ存在する場合にマッチします。

以下の表に、正規表現で「AB?C」と表した場合の例を記載しました。

正規表現 正規表現で指定される文字列
http://www.example.com/AB?C http://www.example.com/AC

http://www.example.com/ABC

表のように正規表現を表すと、「?」の直前にあるBをまったく含まない場合か、1つだけある場合にのみマッチします。

たとえばBが複数ある「http://www.example.com/ABBBC」という文字列の場合は、指定対象にはなりません。

「?」の活用例としては、英単語の名詞における単数形と複数形を指定対象としたい場合に利用でき、「apples?」と正規表現で表すと「apple」「apples」にマッチさせられます。

「*」「+」「?」は、前述した「.」とともに使用できるので、意図したとおりの指定をするためにも、それぞれの意味を理解して使い分けましょう。

「( )」文字列のグルーピングをする

「( )」は「( )」で囲んだ文字のグルーピングができ、多くの場合「|」や「*」など、他のメタ文字と組み合わせて使用します。

以下の表に活用例を記載しました。

正規表現 正規表現で指定される文字列
http://www.example.com/(dejima|labo) http://www.example.com/dejima
http://www.example.com/labo
http://www.example.com/(dejima/)*labo/ http://www.example.com/dejima/labo/
http://www.example.com/labo/

 

「( )」と「|」を使って正規表現で「(dejima|labo)」と表すと、表のような「dejima」「labo」のどちらかが含まれている文字列の指定が可能です。

「(dejima/)*labo/」と表現した場合は「*」の直前に位置する「(dejima/)」が繰り返されている場合や、存在しない場合にマッチします。

「( )」は優先順位が高く最初に処理され、あとから「|」や「*」など一緒に使用したメタ文字が認識されます。

「¥」「\」文字列として直前の記号を検索する

「¥」や「\」は、直前の記号をメタ文字ではなく文字列として認識させる、エスケープ処理の役割があります。

たとえば「.」や「^」などはメタ文字としての役割があるため、文字列として認識させたい場合は、そのまま使用してもマッチさせられません。

メタ文字としても活用される記号は、エスケープ文字と一緒に表しましょう。

以下の表に、例を記載しました。

正規表現 正規表現で指定される文字列
http://www.example¥.com/ http://www.example.com/
1000¥¥ 1,000¥

 

「.」の前に「¥」や「\」を使用すると、メタ文字ではなく文字列として認識させられます。

「¥」自体を文字列として使用したいときは、表のように「¥¥」と表すと、メタ文字ではなく記号として処理されます。

正規表現でメタ文字を使用しても意図通りの処理がされなかった場合は、エスケープ文字を正しく使用しているか確認するといいでしょう。

広告運用にも使える正規表現を活用可能なツール

ここからは、広告運用において正規表現を活用できる、以下の3つのツールについて紹介します。

  • Google Analytics
  • Google Tag Manager
  • Googleスプレッドシート・Excel

順番に見ていきましょう。

Google Analytics

Google Analyticsでは、以下のような機能において正規表現を活用できます。

  • ビューフィルタ
  • 目標
  • セグメント
  • ユーザーリスト
  • コンテンツ グループ
  • チャネル グループ

たとえばURL検索において正規表現を使う場合、はじめに「行動」から「サイトコンテンツ」をクリックして、「ランディングページ」を開きましょう。

検索欄の右に位置する「アドバンス」機能によって、詳細な条件を設定して検索が可能です。

「含む」をクリックするとタブが開くので、「正規表現が一致」を選択しましょう。

検索する文字列にメタ文字を使用すると、正規表現を活用して検索が可能です。

さまざまなデータ分析が可能なGoogle Analyticsでは、ほぼすべてのレポートにおいて正規表現を活用できます。

正規表現によって必要な情報の抽出が容易になり、Google Analyticsにおけるデータ分析が効率的におこなえるので、ぜひ使いこなしてみてください。

Google Tag Manager

Google Tag Manager では、トリガーフィルタを使用する場合に、正規表現を活用できます。

正規表現を使用する場合は、はじめに左側メニューの「トリガー」から一覧画面を表示させたのち、「新規」をクリックしましょう。

続いて「トリガーの設定」をクリックして、ページビューを選択します。

「このトリガーの発生場所」において、「一部のページビュー」を選択して「含む」をクリックしてタブを開きましょう。

「正規表現に一致」を選択して、メタ文字によって条件を指定すると設定は終了です。

正規表現はGoogle Tag Managerにおいて多くの場合、thanksページのURL設定において使用されます。

コンバージョンタグの発火につながるURLを、一度に複数指定したいときに正規表現を活用すると便利でしょう。

正規表現をGoogle Tag Managerに活用すると設定するトリガーの数が減り、設置ミスの予防にもなるため、積極的な活用がおすすめです。

Googleスプレッドシート・Excel

GoogleスプレッドシートやExcelで正規表現を活用すると、検索や置換をしたいときに役立ちます。

たとえば広告運用においてGoogleスプレッドシート・Excelによって、以下のような作業をする場合に正規表現を活用できます。

  • レポート分析
  • レポート作成
  • 入稿用CSVの作成

ただしExcelの場合は外部関数であるVBAの使用が必要であり、ハードルが高いため、今回はGoogleスプレッドシートを中心に解説していきます。

 

Googleスプレッドシートで正規表現を活用する場合は、「検索と置換」メニューや関数で使用できます。

「検索と置換」メニューで正規表現を使用するときは、「編集」から「検索と置換」を選択しましょう。

「検索」欄へ正規表現を入力して、「置換」へ置き換えたい文字を設定します。

「正規表現を使用した検索」にチェックを入れて「完了」をクリックすると、検索された文字列が置換したい文字へ置き換わります。

続いて、関数に正規表現を活用する場合を見ていきましょう。

以下の4つの関数に、正規表現を使用できます。

REGEXMATCH 文字列において、正規表現に1箇所でもマッチするか判定する。

1箇所でもマッチするとTRUE、ない場合はFALSEと返す。

REGEXEXTRACT 文字列において、正規表現にマッチする部分を抽出する。

複数マッチした場合は、最初の1つのみ返す。

REGEXREPLACE 文字列において、正規表現にマッチする部分を別の文字に置換する。

複数マッチした場合は、すべて置換する。

QUERY 表からのデータ抽出、並べ替えが一括でできる関数。

クエリ言語を用いて、配列を検索する際の条件指定に正規表現を活用する。

文字列のすべてが正規表現と一致した場合に抽出され、条件を満たさなければ空白行を返す。

 

Googleスプレッドシートにおいて関数を用いた文字列操作は、正規表現を活用すると長く複雑な式を必要としないため、利便性の向上が期待できます。

広告運用にも使える正規表現チェッカー3選

最後に広告運用に活用できる、以下の3つの正規表現チェッカーを厳選して紹介します。

  • REGEXPER
  • Debuggex
  • Rubular

順番に見ていきましょう。

REGEXPER

REGEXPERは正規表現を視覚的に表現してくれる無料のチェッカーで、JavaScriptに対応しています。

使用するときは、チェックしたい正規表現を入力したのち、「Display」をクリックしましょう。

チェックした結果をURLでシェアできる点も魅力的なツールであり、REGEXPERを活用すると簡単にチェックできるだけでなく、ビジュアライズできるので正規表現への苦手意識が生じにくいでしょう。

Debuggex

REGEXPERと同様にDebuggexも正規表現を可視化できるチェッカーであり、異なる点としてマッチの検証が可能です。

使用方法は真ん中の枠「My reqular expression」へ正規表現を設定して、一番下の枠「My test data」に調査対象の文字列を入力します。

Debuggexは以下の3つの正規表現エンジンに対応しており、チェックした結果はURLによるシェアが可能です。

JavaScript
Python
PCRE

わかりやすく機能も充実しているため、他のチェックツールと併用せずに、Debuggexだけでも十分対応できるでしょう。

Rubular

Rubularは、Rubyにのみ対応しているチェックツールであり、バージョン指定が可能です。

非常にシンプルなチェッカーなので、Rubularは画面の見やすさも特徴のひとつでしょう。

使用方法は「Your regular expression:」へ正規表現を表して、「Your test string:」へ文字列を入力するだけで、実行ボタンを押さなくとも自動でチェックされます。

文字を加えるごとに結果がわかるため、Rubularは動作状態の把握のしやすさに優れたツールといえるでしょう。

実行結果へのショートカットURLを作成できるので、正規表現とターゲット文字列を同時に再現できる点もRubularの大きな魅力です。

まとめ

本記事では広告運用における正規表現について、メタ文字の役割や、おすすめのチェッカーとともにお伝えしました。

広告運用に正規表現を活用すると、文字の並びを簡潔に表現でき、作業の効率化を図れます。

Google Analyticsや、Google Tag Managerを広告運用で利用する際も、必要な情報やURLの抽出をスムーズにおこなえるでしょう。

はじめは難しいと感じるかもしれませんが、正規表現は非常に便利なので、一度使用方法を覚えると手放せなくなるでしょう。

本記事で紹介したチェックツールも併用しながら、ぜひ正規表現を活用して広告運用に役立ててください。



当社では、広告代理店、インハウス支援を行っております。もしこの記事を読んで
・理屈はわかったけど自社でやるとなると不安
・自社のアカウントや商品でオーダーメイドで説明して欲しい
・記事に書いてない問題点が発生している
・記事を読んでもよくわからなかった
など思った方は、ぜひ下記のページをご覧ください

▼広告運用のご相談はこちらから▼

▼インハウス化のご相談はこちらから▼

この記事が少しでもためになったらいいねを押してください

Twitterも頑張ってます!よかったらフォローしてください

おすすめの記事