また、トップページからこのページまでのアクセスの経路を示す情報を提供しています。この情報は、ページの先頭付近と終端付近で合計二度提供されていますので、この情報が二度目に出現した箇所を、ページの終端と捉えていただくことができます。一度目の出現はこのご案内の直後です。すなわち、次のような形式で提供しています。以上で、ご案内を終わります。


HOMEPC関連ウェブサイト作成関連PHPで利用できる主な正規表現の覚書


PHPで利用できる主な正規表現の覚書

PHP で利用できる主な正規表現についての覚書です。

正規表現は多くのプラットフォームで利用することができますが、プラットフォームによってそれぞれ若干の文法(語法)の違いがあります。ご注意ください。

目次

凡例

.
改行を除く任意の1文字
?
0回または1回の繰り返し({0,1} に等価)
*
0回以上の繰り返し(最長一致・{0,} に等価)
*?
0回以上の繰り返し(最短一致)
+
1回以上の繰り返し(最長一致・{1,} に等価)
+?
1回以上の繰り返し(最短一致)
{m,n}
m 回以上 n 回以下の繰り返し(最長一致)
{m,n}?
m 回以上 n 回以下の繰り返し(最短一致)
{m}
m 回の繰り返し
{m,}
m 回以上の繰り返し
^
先頭が
$
末尾が
()
パターングループ
|
論理和
[a-z]
a から z まで
[^a-z]
a から z まで以外
\
(エスケープ)
\w
英数字(全角を含む)
\W
英数字以外
\s
空白文字([\t\n\r\f] に等価)
\S
空白文字以外
\d
数字([0-9] に等価)
\D
数字以外
目次へ戻る(C)

実例

実際には、次のような関数の中で使用します。詳細は、PHP のマニュアルの正規表現関数の章 を参照してください。

ereg(pattern, string [, array])
string を対象に pattern を検索します。一致がない場合、false を返します。
eregi(pattern, string [, array])
ereg() と同様です。ただし、eregi() は大文字・小文字を区別しません。
ereg_replace(pattern, replacement, string)
string を対象に pattern を検索し、replacement に置換します。一致がない場合、もとの string を返します。
eregi_replace(pattern, replacement, string)
eregi_replace() と同様です。ただし、eregi_replace() は大文字・小文字を区別しません。
a.c
aac
abc
azc
a5c などにマッチします。
a?c
c
ac マッチします。
a.?c
ac
aac
azc などにマッチします。
a*c
c
ac
aac
aaac などにマッチします。
a.*c
ac
aac
axyzc
a12345c などにマッチします。
a+c
ac
aac
aaac などにマッチします。
a.+c
abc
axyzc
a12345c などにマッチします。
a{1,3}c
ac
aac
aaac マッチします
a{2,}c
aac
aaac
aaaac などにマッチします。
^abc
abc
abcdefg
abc12345 のように始まるものにマッチします。
abc$
abc
xyzabc
12345abc のように終わるものにマッチします。
(abc|xyz|123)
abc
xyz
123 マッチします。
(abc){3}
abcabcabc マッチします。
abc{3}
abccc マッチします。
^page(abc|123){1,2}\.html?$
pageabc.htm
pageabc.html
pageabcabc.htm
pageabcabc.html
page123.htm
page123.html
page123123abc.htm
page123123.html マッチします。
^(090|080)\d{8}$
090 または 080 で始まる、11個の連続した半角数字にマッチします。
全角数字やハイフンが含まれているとマッチしません。
\\
「円マーク」にマッチします。
^$
「空白行」にマッチします。

最長一致と最短一致

最長一致と最短一致という、二つの概念があります。目的に応じて使い分ける必要があります。

最長一致
マッチする部分の、最も長い部分にマッチします。
ereg("(m.*a)", "makibashira"); において、makibashira にマッチします。
最短一致
マッチする部分の、最も短い部分にマッチします。
ereg("(m.*?a)", "makibashira"); において、ma にマッチします。
ereg("(m.+?a)", "makibashira"); においては、makiba にマッチします。
目次へ戻る(C)

HOMEPC関連ウェブサイト作成関連PHPで利用できる主な正規表現の覚書


この文書について

URI
http://www.mtblue.org/pc/web/
この文書へは、トップページ、PC関連、ウェブサイト作成関連、とリンクをたどることで到達できます。
最終改訂日
20111123日 (水) 】
ご連絡・お問い合わせ先
青山 までお願いします。次の二通りの方法がご利用いただけます。
http://www.mtblue.org/contact/ 】 (サイト上のメールフォームから連絡する)
webmaster@mtblue.org 】 (通常の電子メールで連絡する)

© 2000-2017 AOYAMA Naoki, mtblue.org, All Rights and Responsibilities Reserved.