フォローする

正規表現の実用例

正規表現とは

正規表現 とは、文字列を指定するためのパターンマッチの言語です。
詳しくは、 Wikipediaの正規表現 をご参照ください。
Kaizen Platformではテスト対象ページやゴールページを指定する際に正規表現をご利用頂けます

ここでは実例を交えて、正規表現を作成していく方法を説明します。

また、正規表現チェックツールもご用意しておりますので、作成の際にご利用ください。

正規表現の開始と終了

^ 正規表現の内容 $

^ - 正規表現の始まり
$ - 正規表現の終わり

正規表現で使えるメタ文字

メタ文字とは正規表現内で使用することができる「特殊記号」です
例を踏まえて使用出来るものを説明します。

数字・文字列など何か一文字を含ませる

. (ドット,ピリオド)」

どんな値・文字列でも 一個 含む場合マッチさせる

実例

正規表現 : ^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

実例集

1.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$

2.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$

3.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).*$

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください

0 コメント

ログインしてコメントを残してください。