サイト運用や広告運用をしていると、特定の URL を指定したり、条件を指定してデータを抽出したい場面が多くあります。数ページの小さなサイトであれば一つ一つ設定できますが、ページ数が多いほど大変な作業になり、ミスも発生しやすくなります。そんなときに「正規表現」が役立ちます。
「正規表現」と聞くと、複雑で難しい印象を持つ方もいるかもしれませんが、一度使い方を覚えればそこまでハードルが高いものではありません。今回の記事では具体的な事例とともに、正規表現の活用方法について紹介します。
正規表現とは、メタ文字と呼ばれる記号を使用し、検索や置換するときに指定する文字列を表現する方法です。メタ文字を組み合わせていろいろな文字列を指定できます。
例えば、絞り込みたい URL が「https://www.kwm.co.jp/blog/」以降に「google」または「yahoo」を含む全てのものだった場合、一つ一つチェックするのは大変です。
しかし正規表現で「https://www.kwm.co.jp/blog/(google | yahoo ).*」と表せば、条件に当てはまるものを一気に絞り込めます。URL を一つ一つを指定するよりも簡単に指定できます。また個別にデータを出すよりも抜け漏れの心配がなく、後に対象データが増えても作業が不要になります。
正規表現の入力例 | 正規表現で指定される文字列の例 |
---|---|
https://www.kwm.co.jp/blog/(google | yahoo ).* | https://www.kwm.co.jp/blog/google https://www.kwm.co.jp/blog/google12345 https://www.kwm.co.jp/blog/yahoo https://www.kwm.co.jp/blog/yahoo12345 |
難しそうなイメージのある正規表現ですが、活用メリットはさまざまあります。特に複雑な条件を指定する際に、その真価を発揮します。
正規表現を使用することで、複雑な指定を簡潔に表現できます。例えば、「指定の URL の末尾に『google』と入っているもの全て」という条件の場合、正規表現で表せば、「指定の(URL).*」となります。これを手動でおこなうと、対象の URL を全て自分で入力しなければいけません。
正規表現で表した場合 | 正規表現を使わなかった場合 |
---|---|
https://www.kwm.co.jp/blog/google.* | https://www.kwm.co.jp/blog/google https://www.kwm.co.jp/blog/google1 https://www.kwm.co.jp/blog/google2 https://www.kwm.co.jp/blog/google3 https://www.kwm.co.jp/blog/google4 https://www.kwm.co.jp/blog/google5 https://www.kwm.co.jp/blog/google6 ︙ |
Google Analytics の目標設定や Google Tag Manager のトリガー設定に正規表現を使うことで、URL 変更やページ追加時の作業漏れなどのミスを減らすことができます。
例えば目標設定しているページが、「https://www.kwm.co.jp/products/shirts-1111/thanks/」 と「https://www.kwm.co.jp/products/pants-2222/thanks/」のように、カテゴリや商品ごとに URL が変わったり、「shirts」を含む thanks ページのみを指定したい場合などでも、正規表現を使用できます。
もちろん「shirts」を含む URL 1つずつ設定する方法でも解決できます。しかし、正規表現であればたった1つの設定で完了します。
また、新しいカテゴリや商品のページが追加されても、正規表現で指定していれば、個別で目標設定を変更する必要はありません。このように新しいページができた際のミスを防止もできます。
Google Analytics や Google Tag Manager は自分以外の方と共有して使うことがよくあります。正規表現を使ってクライアントや代理店、新しいメンバー、誰が見ても分かりやすい設定にすることで、ミスの防止や工数の削減になります。
一般的に、正規表現はシステム開発で使用されますが、広告運用でも活用の場所は多くあります。代表的な3つを解説します。
Google Analytics では、確認したいデータを抽出する際の条件設定で正規表現を活用します。イベント作成やレポートの抽出、セグメントの設定など、膨大なデータの中から条件にあったデータを抽出するために正規表現を使用できます。
また、Google Analytics で特定の IP アドレスからのアクセスを除外する「IP 除外設定」をおこなうときにも、正規表現を使用することで、意図しないものを除外してしまう可能性や、余計なものの追加を防止できます。
Google Tag Manager では、トリガー設定で正規表現を使用します。コンバージョンタグの設定時に、タグを発火させる条件にあたるトリガーを作成します。一般的に thanks ページの URL を設定します。
同じコンバージョンタグを発火させたい URL が複数あるときに、それぞれのページに対してトリガー設定をすることも可能ですが、正規表現を使えば1つのトリガーで完結します。
またホワイトペーパーなど、これから計測したい thanks ページが増える可能性がある場合は、正規表現を使うことで設定するトリガーの数を減らし、設置漏れなどのミスを防止できます。
正規表現はエクセルやスプレッドシート内の検索・置換でも使用できます。広告運用でエクセルやスプレッドシートを使ってレポート分析や作成、また入稿用 CSV の作成することがあります。そんなときに正規表現を使うと、検索や置換を最小工数でできます。
ここからは、広告運用で使うことが多い正規表現を解説します。広告運用で使用する場合、使用頻度が高いメタ文字はそこまで多くありません。よく使うメタ文字から順番に紹介していきます。
文字列の先頭を表すメタ文字「^」を使うと、「^」の後に続く文字列を含むものを指定できます。
「^/blog」の場合、「/blog」を先頭に含むものが正規表現の指定対象です。したがって、表示の例のように、「/blog」だけで後ろに続く文字列がないものや、「/blog」を含み、それ以降に文字列が続くものも指定できます。
正規表現の入力例 | 正規表現で指定される文字列の例 |
---|---|
^/blog | /blog /blog/ABC |
「^」は、主に Google Analytics や Google Tag Manager で URL を指定するときに使用します。それ以外にも、エクセル作業で一括で置換したい場合にも活用できます。
文字列の最後を表すメタ文字「$」を使うと、「$」の前に続く文字列を含むものを指定できます。
「$」で指定した「blog/」で終わる文字列が指定対象になります。したがって、「blog/」以前の文字列に関わらず、末尾が「blog/」で終わる「https://www.kwm.co.jp/blog/」や「http://www.example.com/blog/」を指定できます。
正規表現の入力例 | 正規表現で指定される文字列の例 |
---|---|
blog/$ | https://www.kwm.co.jp/blog/ http://www.example.com/blog/ |
「^」や「$」は、主に Google Analytics や Google Tag Managerで URL を指定するときや、エクセル作業で一括で置換したい場合にも活用できます。
マッチタイプを指定して多くのキーワードを一度に入稿する際も正規表現「^」と「$」を使って一度に置換できます。例えば、フレーズ一致を表す二重引用符「””」を置換したい場合、先頭の「”」を「^」使ってキーワードの冒頭に入れた後に、「$」でキーワード末尾の「”」を入れます。すると、置換したいキーワードの全てを一括で置換できます。一つ一つを作業する手間を省いてフレーズ一致を入稿する形にできます。
「|」は、いずれかの文字列を含むものを指定するメタ文字です。「|」で区切られた文字列のどれかを含むものを指定できます。いずれかを意味する英単語「or」と同義と覚えるとわかりやすいです。
例えば「ABC|DEF|GHI」と正規表現で表した場合、メタ文字「|」で区切られた「ABC」と「DEF」、「GHI」のいずれかを含むものを指定できます。また、「https://www.kwm.co.jp/blog/GHI/xyz」のように、指定した文字列に加えてさらに文字が続くものも正規表現の指定対象です。
正規表現の入力例 | 正規表現で指定される文字列の例 |
---|---|
ABC|DEF|GHI | https://www.kwm.co.jp/ABC/ https://www.kwm.co.jp/blog/DEF/ https://www.kwm.co.jp/blog/GHI/xyz |
囲まれた文字のうちの指定した文字のいずれかを指定するメタ文字「[ ]」を使うと、「[ ]」で区切られた文字列のいずれかを含むものを指定できます。
「[ABC]」という正規表現の場合、「[ ]」で囲まれた「A」と「B」、「C」のうちのどれかが含まれている文字列を指定できます。また「 [ABC]D 」とすると、「D」の前に、「/EEEEECD」のような「A」と「B」、「C」のいずれかが含まれる場合も指定対象になります。
正規表現の入力例 | 正規表現で指定される文字列の例 |
---|---|
[ABC] | https://www.kwm.co.jp/AD/ https://www.kwm.co.jp/BD/ |
[ABC]D | https://www.kwm.co.jp/EEEEECD/ |
「[ ]」は、いずれかのアルファベットや半角数字を指定するときによく使います。
全アルファベットのいずれかを指定したいとき、「[ABCDEFGHIJKLMNOPQRSTUVWXYZ]」ともできますが、省略してハイフンで A と Z を繋いだ「 [A-Z]」 でも表記できます。大文字と小文字は区別されるので、大文字や小文字を指定したい場合は注意しましょう。
正規表現の入力例 | 正規表現で指定される文字列の例 |
---|---|
[A-Za-z] [0-9] [A-Z0-9] | 半角アルファベットの大文字または小文字のどれか 半角数字のどれか 半角アルファベット、半角数字のどれか |
また「[ ]」内の文字を含まないという指定もできます。その場合は「[」の後、指定する文字の前に「^」と表記します。これは行の先頭の「^」とは別のメタ文字です。
「[^A]D」の場合、A 以外の文字がくるものを指定できます。
正規表現の入力例 | 正規表現で指定される文字列の例 |
---|---|
https://www.kwm.co.jp/[^A]D/ https://www.kwm.co.jp/[^A-Za-z]/ | https://www.kwm.co.jp/BD/ (A以外の何か)https://www.kwm.co.jp/1/(アルファベット以外のなにか) |
何でもよいなにか1文字を指定するメタ文字「.」を使うと、文字の種類に関係なく、なにか1つの文字を指定します。
例えば「..」と2つ並んでいる時には、「12」や「あい」など任意の2文字が指定されます。
正規表現の入力例 | 正規表現で指定される文字列の例 |
---|---|
https://www.kwm.co.jp/.. | https://www.kwm.co.jp/12 https://www.kwm.co.jp/あい |
何でもよいなにか1文字なので、指定した箇所に文字列が何もない場合、「https://www.kwm.co.jp/」は文字がないと認識され、対象になりません。
直前の文字を0回以上繰り返すメタ文字「*」を使うと、直前の文字がない、または直前の文字の繰り返しを指定します。
例えば、「12*3」の場合は、直前の文字「2」がないか、「2」の繰り返しを表すので、「2」がない「13」や、「2」を複数繰り返す「12223」も対象になります。
正規表現の入力例 | 正規表現で指定される文字列の例 |
---|---|
https://www.kwm.co.jp/12*3 | https://www.kwm.co.jp/123 https://www.kwm.co.jp/122222223 https://www.kwm.co.jp/13 |
また「*」は、「.」とともに「.*」としてよく使います。この場合「0文字以上の任意の文字列」を表します。
広告運用で成果の計測の際に URL を「一致」で指定する場合、「.*」をつけないとパラメータがあるものが計測されない可能性があります。それを考慮して、お守り代わりに「.*」を付けると、パラメータがあってもなくても計測されるので安心です。
正規表現の入力例 | 正規表現で指定される文字列の例 |
---|---|
https://www.kwm.co.jp/thank/.* | https://www.kwm.co.jp/thank/ https://www.kwm.co.jp/thank/?utm_source=google https://www.kwm.co.jp/thank/you |
メタ文字「+」は、直前の文字の繰り返しを指します。「*」とは異なり、直前の文字が入っていない場合は含みません。
例えば「12+3」の場合は、直前の文字「2」の繰り返しになるので、2が1回以上ある「123」も「122222222223」も対象になります。
正規表現の入力例 | 正規表現で指定される文字列の例 |
---|---|
https://www.kwm.co.jp/12+3 | https://www.kwm.co.jp/123 https://www.kwm.co.jp/122222223 |
「https://www.kwm.co.jp/13」は「+」の直前にある「2」が含まれないため対象にはなりません。
文字列をグループ化をするメタ文字「( )」を使うと、「( )」で囲まれた文字列をグループにします。他のメタ文字と組み合わせて使うことが多く、特に「|」と共に使われます。
「(12)+3」の場合、「12」を含む「123」「1212123」などを指定できます。「132」のように間に他の文字が入っている場合は対象外になります。
また「(12 | 45 )」の場合は「12」または「45」が入っている場合を指定できます。
正規表現の入力例 | 正規表現で指定される文字列の例 |
---|---|
https://www.kwm.co.jp/(12).* https://www.kwm.co.jp/(12 | 45).* | https://www.kwm.co.jp/123 https://www.kwm.co.jp/121212123 https://www.kwm.co.jp/12 https://www.kwm.co.jp/45321 |
「¥」や「\」はエスケープ文字と呼ばれ、「^」のようにメタ文字でも、一般的な目的でも、使用する記号を識別します。記号の前に付けることで、メタ文字ではなく記号として認識させることができます。
メタ文字を使って設定したのに、意図通りに動作しないときはエスケープ文字に誤りがないか確認しましょう。例えば、「ABC\^」と指定したときは、「\」の次にある「^」を記号として認識させます。
正規表現の入力例 | 正規表現で指定される文字列の例 |
---|---|
ABC¥^ | ABC^ |
「¥」や「\」を記号として認識させたい場合は、同じ記号を2回続けて記載します。
正規表現の入力例 | 正規表現で指定される文字列の例 |
---|---|
ABC¥¥ | ABC¥ |
数が多く難しくみえる正規表現ですが、広告運用業務で使う正規表現は限られているため全てを覚える必要はありません。最初は時間がかかり、正規表現を使わないほうが早く感じるかもしれませんが、使用するメリットも多く、結果的に工数の削減につながります。
まずは、正規表現を使えるシーンを頭の隅におき、チャンスが来たらに使用してみましょう。少し時間がかかっても、便利さがきっとわかるはずです。
広告運用 コンサルタント
2020年1月に広告運用コンサルタントとして入社。新卒で入社した不動産会社向けシステム会社で、気づいたらマーケティング担当になっていて、サイト運営や広告運用などいろいろ携わった元”なんでも屋のぼっちマーケター” 広告運用以外だとGoogleAnalyticsとZapierが好き。鈴木愛理とハロプロに支えられ、毎日楽しく広告運用してます。
あなたの広告アカウントを無料診断します
広告アカウント診断詳細なお見積りをご希望の方はこちら
お問い合わせ支援事例などをまとめたサービス紹介資料はこちら
サービス資料のダウンロードはこちら