IT技術サポート総合サイト
 
 言語:  VC++/MFC   PHP/Perl   VB/VBA   ASP/ASP.net   HTML/CSS   基本知識:  Windows   Linux   ネットワーク   MySQL   レンタルサーバ   SEO対策
キーワード: RSS2.0配信
 
 
コラム集:PHPの正規表現
←前コラム    目次    次コラム→    
 
PHP正規表現:リファレンス篇
分類:PHP/Perl     著者:佐藤誠一     更新日付:2008/12/13
 
 
1)エスケープシーケンス
\\ \ 
\n 改行 
\t 水平タブ 
\a ベル 
\b バックスペース 
\r キャリッジリターン 
\v 垂直タブコード 
\e エスケープコード 
\z エンドオブファイル(EOF) 
\" ダブルクオート 
\' シングルクオート 

2)メタ文字
. 改行を除く任意の1文字 
* 0回以上の連続する文字 
+ 1回以上の連続する文字 
? 0または1回だけの文字 
^ 文字列の先頭 
$ 文字列の末尾 
\ エスケープ文字 
| OR 
() パターングループ 
[] 文字クラス 
{} 量指定子 
\n 改行 
\r キャリッジリータン 
\t タブ 
\d 数字 [0-9] 
\D 数字以外 [^0-9] 
\w 英数字 [_a-zA-Z0-9] 
\W 英数字以外 [^_a-zA-Z0-9] 
\s 空白 [ \t\r\f] 
\S 空白以外 [^ \t\n\r\f] 
\b 単語境界 \w、\Wの間 
\B 単語境界以外 
\x?? 16進数 

3)文字クラス 
- 範囲 
^ 先頭に置くと以外にマッチ 
a-z 小文字の半角英文字 
A-Z 大文字の半角英文字 
0-9 数字 
^0-9 数字以外 
[:alnum:] [:alpha:]+[:digit:] 
[:alpha:] [:lower:]+[:upper:] 
[:lower:] 小文字の半角英文字 [a-z] 
[:digit:] 数字 [0-9] 
[:blank:] スペースとタブ [ \t] 
[:cntrl:] 制御文字 
[:graph:] [:alnum:]+[:punct:] 
[:print:] [:alnum:]+[:punct:]+スペース 
[:punct:] ! " # $ % & ' ( ) * + , - . / 
[:space:] 空白文字 [ \t\n\r\f\v] 
[:upper:] 大文字の半角英文字 [A-Z] 
[:xdigit:] 16進数 [0-9A-Fa-f] 

4)量指定子
* 0回以上の連続する文字 
+ 1回以上の連続する文字 
? 0または1回だけの文字 
{n}? n回の連続する文字 
{n,}? n回以上の連続する文字 
{n, m}? n回以上、m回以下の連続する文字 

○一個簡単なサンプル
<?
$regex = "a+"; // 正規表現のパターン
$str = "aaaa"; // 検索対象文字列

if(ereg($regex,$str))
    echo "マッチしました。";
else
    echo "マッチしませんでした。";
?>


 
 
←前コラム    目次    次コラム→