Archive for the RegExp Category

RegExp : TIPS

2009.01.27 Category : Reference, RegExp
/ デリミタ
デリミタには英数字および\以外の全ての文字を使用可
^ 〜ではじまる
^ABC → ABCで始まったら
$ 〜で終わる
ABC$ → ABCで終われば
[ABC] A,B,Cのうちどれか1文字
[A-Z] A〜Zのどれか1文字
[^ABC] A,B,Cのいずれでもない1文字
. 改行をのぞく任意の1文字
* 直前にある文字の0回以上の繰り返し
12* → マッチ = 1,12,122……
+ 直前にある文字の1回以上の繰り返し
12+ → マッチ = 12,122,1222……
? 直前にある文字の0回or1回の繰り返し
12? : 1 → マッチ 12222….. → 12にマッチ
+? 直前にある文字の1回以上の繰り返し+最短マッチ
12+? : 122222222 → 12にマッチ
(JSは通常は最長マッチになる)
| 論理和
AB|CD|EF → ABまたはCDまたはEF
{n} 直前の文字がn個
A{2} → AAにマッチ
{n,} 直前の文字がn個以上
A{2,} → AA,AAA,AAAA,……にマッチ
{m,n} 直前の文字がm〜n個
A{2,3} → AA,AAAにマッチ
\w アルファベット、数字または下線
\W 上記以外
\d 数字
\D 数字以外 = [^0-9]
\s 空白文字(スペース、タブ、改行)
\n 改行
\r リターン(復帰)
\t タブ
\o 8進数の値
\x811 16進数の値
\cx 制御文字
\. .(\でクォート)
i 大文字小文字を区別しない。 i=ignore
g 繰り返しのマッチング。g=global
m マルチラインモード。’^'と’$'が改行の直前直後でマッチ。
s シングルラインモード。改行文字も’.'とみなされる。
e 文字列$replacementをPHPの式として評価。
l 最長マッチ。l=Longest
$1,$2,$3……, $0 ●番目にマッチした要素が入る。$0はマッチした全体の文字列。
[:alpha:] アルファベット = [A-Za-z]
[:digit:] 数字 = [0-9]
[:alnum:] 数字とアルファベット = [A-Za-z0-9]
[:blank:] スペースとタブ = [ \t]
[:space:] [ \t\n\r\f\v]