今すぐ使える正規表現 | Optimizely 正規代理店イー・エージェンシー

Optimizely X ヘルプ

  • 最終更新日:2017年02月23日

今すぐ使える正規表現

ご存知の通り「正規表現」は、

http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

といった風に小難しいものです。

ですが、ほんの少し使い方を覚えると Optimizely に限らず大変便利なものです。

その中でも特に使用頻度の高い機能を中心にご紹介します。

Optimizely では主に「URL ターゲット設定」で正規表現を使用しますので、URL との一致を中心としたご紹介となります。

ご紹介する機能は全部で7つです。

  • . ( ドット )
  • * ( アスタリスク )
  • + ( プラス )
  • $ ( ダラー )
  • [] ( 大カッコ、ブラケット )
  • \ ( バックスラッシュ )

正規表現とは?

正規表現とは、上記の機能 ( 正確には「構文」と呼びます。以下、構文。 ) を使用し、対象となる文字に対して一致するパターンを作成する事ができます。

主に、プログラミング言語やテキストエディタなどで使用されています。

構文は単体でも使用しますが、構文と構文を組み合わせて使用することで、様々な文字のパターンに対応可能な柔軟性を発揮します。

. ( ドット )

ドットは全角半角かな英数字問わず、全ての文字に一致します。

全てに一致するので汎用性が高く、組み合わせでも基本となる構文です。

* ( アスタリスク )

アスタリスクは組み合わせて使用します。

アスタリスクの直前の文字や構文に対して、0回以上一致します。

例えば、”ab*” は “a” とも “abb” とも一致します。

前述のドットと組み合わせ .* とした場合、全ての文字と文字数に一致させる事ができます。

例えば、http://example.com/.* は、http://example.com/ 自体を含み、以降にどんなディレクトリやパラメータが存在しても一致させる事ができます。

+ ( プラス )

プラスは組み合わせて使用します。

機能はアスタリスクと似ており、違いは直前の文字や構文に対して、1回以上一致するという点です。

例えば、”ab+” は “abb” とは一致しますが、”a” とは一致しません。

ドットと組み合わせ .+ とした場合、全ての文字と1文字以上の文字数に一致させる事ができます。

例えば、http://example.com/.+ は、http://example.com/ 以降にどんなディレクトリやパラメータが存在しても一致させる事ができますが、1回以上一致の必要があるので http://example.com/ と一致させる事はできません。

$ ( ダラー )

ダラー文字の行末と一致させる事ができます。その仕様上、主に単体で使用されます。

例えば、”ab$” は “ab” とは一致しますが、”a” とは一致しません。”aab” は最後の2文字の “ab” と一致します。

http://example.com/$ は、http://example.com/ と一致しますが、以降にディレクトリやパラメータが存在する場合は一致しません。

真逆の構文として ^ ( ハット、キャレット ) が存在し、ハットは行頭と一致させる事ができます。

[] ( 大カッコ、ブラケット )

大カッコは文字を1つのまとまりとして扱えるようになります。

特に便利な使い方として [a-z] とする事で、小文字の英字 “a” から “z” の範囲にある任意の文字と一致する事ができます。

例えば、”[a-z]+” は全ての小文字のアルファベットのみと一致させる事ができ、”[0-9]+” とすると、全ての数字のみと一致させる事ができます。

http://example.com/[a-z]+/ は、http://example.com/abcde/ や http://example.com/fghij/と一致します。

記事ページなどで http://example.com/article/12345/ や http://example.com/article/67890/ といった URL が多いかと思います。そのような記事ページだけを対象にしたい場合は、http://example.com/article/[0-9]+/ とする事で実現する事ができます。

この大カッコを使いこなせると、URL を一致させる手段がグッと広がりますので、ぜひ覚えましょう。

\ ( バックスラッシュ または イェン )

OS などの環境によって「バックスラッシュ」と「イェン」のどちらかが表示され、また使い分ける形となりますが、機能としては同じです。ここでは「バックスラッシュ」の単語を元にご説明します。

バックスラッシュ直後の構文を構文として扱わないようにし、文字として扱うようにする事ができます。

例えば、アスタリスクはそのままだと構文として扱われてしまいますが、文字として扱いたいケースもあるかと思います。そのような場合に \* とする事で、アスタリスクを文字として扱う事ができます。

よく使用されるケースは、URL のパラメータの “?” を文字として扱う時です。”?” も正規表現の構文の一つなので、そのままだと構文として扱われてしまい、パラメータとして成立しなくなります。そのような場合に \? とする事でパラメータとして扱う事ができるようになります。

いかがでしたでしょうか。

正規表現は Optimizely に関わらず、日々の業務でも活用できる大変便利なものなので、覚えて損はありません。
もし、本記事で少しでも正規表現に興味を持たれましたら、ぜひ一度、挑戦してみてもらえますと嬉しく思います。

Optimizelyのサポートに関するお問い合わせはこちらまで

コメントは受け付けていません。

ヘルプの関連記事

Optimizely X カスタムコードの特性について(Optimizely X)
投稿日: 2017年03月29日
検証時のターゲィング設定のために – 独自Cookieを発行できるブックマークレットの作成方法
投稿日: 2017年02月22日
自分をテスト対象から除外する方法 オプトアウト
投稿日: 2016年10月21日
SNS ボタンのクリック目標の計測
投稿日: 2016年09月26日

ヘルプのよく読まれている記事