2010/11/20

Google Analytics Individual Qualification (GAIQ)対策にもならない正規表現のお勉強

Google Analytics Individual Qualification (GAIQ)対策で一応作成してみたので、どうぞ。

噂によると、正規表現の問題があるというのをいろんな人から聞いていたので、真面目に振りかえってしまいましたが、問題は1問だけで前方一致とエスケープを知っていればよかったので、拍子抜け。もっと難しい問題に当たった人もいるのでしょうね、多分。

.   任意の 1 文字を表します
*   直前のアイテムの 0 回以上の繰り返しを表します
+   直前のアイテムの 1 回以上の繰り返しを表します
?   直前のアイテムの 0 回または 1 回の繰り返しを表します
()   かっこの内容を 1 つのアイテムとして扱います
[]   かっこ内のアイテムの任意の 1 つを表します
-   範囲を指定します
|  複数のアイテムのいずれかを表します(縦棒を半角にするとエラーになるので全角表示)
^   フィールドの先頭のみを対象とします
$   フィールドの最後のみを対象とします
\   ワイルドカード文字をエスケープ処理します

{n}   n回の繰り返し
{x,y}   x回以上y回以下の繰り返し

\d   [0-9] つまり数字
\D   非数字
\s   空白文字
\S   非空白文字
\w   [0-9A-Za-z_] つまり英数字とアンスコ
\W   非英数字

この辺りまでが、基本ルールの列挙です。
ここからが応用。

[0-9a-z]{8} は英数字8桁
[0-9a-z]+ は英数字1個以上

192.168.1.1-25 と 10.0.0.1-14入力する IP アドレス
^192\.168\.1\.([1-9]1[0-9]2[0-5])$|^10\.0\.0\.([1-9]1[0-4])$


さてでは、httpとhttpsを表したい場合はどうしますか?
https?
https*
htt(p|ps)
いろんな表現が可能だけど、記述の仕方が下手だと効率が悪かったりするようですよ。

関連リンク:
Google Analytics Individual Qualification (GAIQ)対策にもならない日英指標名(Metrics)の対比
Google Analytics Individual Qualification (GAIQ)対策にもならない日英レポート名の対比

0 件のコメント: