フォローする

正規表現の実用例

 

概要

このページでは、「デザインを改善するページの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人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください

0 コメント

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