概要
このページでは、「デザインを改善するページのURL(ゴールの対象とするページのURL)」や「除外するURL」に利用できる、正規表現について記載します。
利用タイミングがわからない場合は、まず 「デザインを改善するページのURL」と「除外するURL」について をご参照ください。
正規表現とは
正規表現 とは、文字列を指定するためのパターンマッチの言語です。
詳しくは、 Wikipediaの「正規表現」 をご参照ください。
KaizenPlatformでは、テスト対象ページやゴールページを指定する際に正規表現をご利用頂けます。
ここでは実例を交えて、正規表現を作成する方法を説明します。
また、正規表現チェックツール もご用意しておりますので、作成の際にご利用ください。
※KaizenPlatformでは、一部機能において、先読み・後読み系の正規表現をご利用いただけません。後から修正が必要な場合もありますので、なるべく利用を避けていただきますと幸いです。
正規表現の開始と終了
^ - 正規表現の始まり
$ - 正規表現の終わり
正規表現で使えるメタ文字
メタ文字とは正規表現内で使用することができる「特殊記号」です。
例を踏まえて使用出来るものを説明します。
数字・文字列など何か一文字を含ませる
- 「 . (ドット,ピリオド)」
どんな値・文字列でも 一個 含む場合マッチさせる
実例:
正規表現 : ^http://test.com/./index.html$
対象になるもの
http://test.com/a/index.html
http://test.com/b/index.html
http://test.com/1/index.html
対象とならないもの
http://test.com/a1/index.html
同じ文字を繰り返す
全部で「 * (アスタリスク)」「 + (プラス)」「 ? (クエスチョン)」の三つがあります。
- 「 * (アスタリスク)」
直前の文字が 0個以上 含まれているマッチさせる
実例:
正規表現 : ^http://test.com/0*1/index.html$
対象になるもの
http://test.com/0000001/index.html
http://test.com/0001/index.html
http://test.com/001/index.html
http://test.com/1/index.html
対象にならないもの
http://test.com/000000/index.html
- 「 + (プラス)」
直前の文字が 1個以上 含まれている場合マッチさせる
実例:
正規表現 : ^http://test.com/0+1/index.html$
対象になるもの
http://test.com/0000001/index.html
http://test.com/0001/index.html
http://test.com/001/index.html
対象にならないもの
http://test.com/1/index.html
- 「 ? (クエスチョン)」
直前の文字が 0個 もしくは 1個 ある場合マッチさせる
実例:
正規表現 : ^http://test.com/0?1/index.html$
対象になるもの
http://test.com/1/index.html
http://test.com/01/index.html
対象にならないもの
http://test.com/001/index.html
よく使われる組み合わせ
- 「 .* 」
どんな文字列でも 0個以上 含む場合マッチさせる
実例:
正規表現 : ^http://test.com/.*/index.html$
対象になるもの
http://test.com/1/index.html
http://test.com/Project/index.html
http://test.com/Project/ja/01/index.html
- 「 .? 」
どんな値でも 0個 もしくは 1個 を含む場合マッチさせる
実例:
正規表現 : ^http://test.com/0.?/index.html$
対象になるもの
http://test.com/0/index.html
http://test.com/07/index.html
http://test.com/0a/index.html
対象にならないもの
http://test.com/001/index.html
指定した文字列をマッチさせたい場合
- 「 [指定した文字] 」
[]内に指定した、文字列含まれている場合マッチさせる
実例:
正規表現 : ^http://test.com/[KAIZEN]/index.html$
対象になるもの
http://test.com/K/index.html
http://test.com/A/index.html
http://test.com/Z/index.html
対象にならないもの
http://test.com/k/index.html
http://test.com/C/index.html
http://test.com/KAIZEN/index.html
- 「 [A-Za-z0-9] 」
A-Z => AからZまでのアルファベット(大文字)
a-z => aからzまでのアルファベット(小文字)
0-9 => 0から9までの数字
実例1:
正規表現 : ^http://test.com/[A-Z]/index.html$
対象になるもの
http://test.com/A/index.html
http://test.com/C/index.html
http://test.com/B/index.html
対象にならないもの
http://test.com/2/index.html
http://test.com/c/index.html
http://test.com/PROJECT/index.html
実例2:
正規表現 : ^http://test.com/[A-Za-z]/index.html$
対象になるもの
http://test.com/A/index.html
http://test.com/b/index.html
http://test.com/r/index.html
対象にならないもの
http://test.com/2/index.html
http://test.com/Ja/index.html
実例3:
正規表現 : ^http://test.com/[a-z][0-9]/index.html$
対象になるもの
http://test.com/h3/index.html
http://test.com/f8/index.html
対象にならないもの
http://test.com/A2/index.html
http://test.com/H3/index.html
http://test.com/test1/index.html
- 「[ ^ 指定した文字]」
指定した文字を 除く 文字が入っている場合
実例:
正規表現 : ^http://test.com/[^A-Z]/index.html$
対象になるもの
http://test.com/a/index.html
http://test.com/n/index.html
http://test.com/3/index.html
対象にならないもの
http://test.com/A/index.html
http://test.com/C/index.html
注意点
[]内では メタ文字 も文字としてみなされる。
よって [.] は「.」もしくは「」にマッチする。
と言う意味になります。
繰り返し回数の指定
- 「{最低回数,最高回数}」
直前の文字列が「最低回数」以上、「最高回数」以下の場合マッチする
また、最高回数は省略することができる(上限を決定しなくても良い)
実例1:
正規表現 : ^http://test.com/Ka{1,3}izen/index.html$
対象になるもの
http://test.com/Kaizen/index.html
http://test.com/Kaaizen/index.html
http://test.com/Kaaaizen/index.html
対象にならないもの
http://test.com/Kizen/index.html
http://test.com/Kaaaaizen/index.html
実例2:
正規表現 : ^http://test.com/Ka{1,}izen/index.html$
対象になるもの
http://test.com/Kaizen/index.html
http://test.com/Kaaaaaaaaizen/index.html
対象にならないもの
http://test.com/Kizen/index.html
http://test.com/Kccccizen/index.html
グループ化
- 「 (指定した文字列) 」
()内に書かれた文字をグループとして判断しマッチさせる。
実例:
正規表現 : ^http://test.com/(Kaizen)/index.html$
対象になるもの
http://test.com/Kaizen/index.html
対象にならないもの
http://test.com/KaizeN/index.html
http://test.com/KAIZEN/index.html
- 「(指定した文字列1 | 指定した文字列2)」
「 | 」を使用することによって複数の条件を指定することができます。
実例:
正規表現 : ^http://test.com/(Project|Index)/index.html$
対象になるもの
http://test.com/Project/index.html
http://test.com/Index/index.html
対象にならないもの
http://test.com/Kaizen/index.html
http://test.com/0001022/index.html
数字の指定
- 「 \d 」
これは0-9の数字を指定するものになります。
これは単独では使わずに「繰り返し回数指定」とセットでよく使用されます。
実例:
正規表現 : ^http://test.com/\d{1,4}/index.html$
対象になるもの
http://test.com/8743/index.html
http://test.com/652/index.html
http://test.com/74/index.html
http://test.com/1/index.html
対象にならないもの
http://test.com/Kaizen/index.html
http://test.com/46720/index.html
実例集
- 0が4つ続き、ランダムな数字が1 ~ 4つ続く場合
URL例
http://test.com/00004938/index.html
http://test.com/00007342/index.html
正規表現 :
^http://test.com/0000\d{1,4}/index.html$
^http://test.com/0000[0-9]{1,4}/index.html$
- Images_ もしくは Blogs_ の後ろの数字二桁がつく
URL例
http://test.com/Images_28/index.html
http://test.com/Blogs_46/index.html
正規表現 : ^http://test.com/(Images|Blogs)_[0-9][0-9]/index.html$
- URLのパラメータ(?)以降に何がついても良いが「Kaizen」が含まれる場合
URL例
http://test.com/index.html?Kaizen=1&efg=3&Flag=0
http://test.com/index.html?Flag=true&abc=3&Kaizen=1
http://test.com/index.html?Flag=true&Kaizen=1&efg=3
正規表現 : ^http://test.com/index.html\?.*(Kaizen).*$
- 上記をさらに厳密にマッチさせる、順不同クエリパラメータつきURLにマッチさせたい場合
順不同クエリつきターゲットURLの設定方法 を参照してください。
※上記ヘルプページでは、Kaizen Platform 独自の正規表現記法を使用しています。
0 コメント