正規表現のメタ文字を使えばいろいろな文字列を検索したりするときに便利。
文字列で一緒にしたかったけど、書くことがたくさんあったので別にしました。
目次
文字列の検索
正規表現のメタ文字を使えばいろいろな文字列を検索したりするときに便利
実行結果を確認するにはこちら
<?php
//メタ文字を使った正規表現
//「^」は行頭、「$」は行末、「.」は任意の一文字
$pat = array('tart','^tart','talt$','^tart$','tart.','.tart','.tart.');
$cake = array('tart','tartt','tarttt','ttart');
?>
| パターン | 文字列 | 一致 |
|---|---|---|
| '.$pa.' | '; echo ''.$ca.' | '; //preg_match()でパターンと文字列が一致(Match)するか if(preg_match("/$pa/","$ca")){ $mat = '〇'; }else{ $mat = '×'; } echo ''.$mat.' |
文字クラス
[]で囲んでいるパターンのこと。記述した文字いずれかが存在すればマッチする。
実行結果を確認するにはこちら
<?php
//文字クラスを使った正規表現
//文字クラス内の「^」は否定
//sは空白、Sは空白じゃない
//dは数字、Dは数字じゃない
//wは英数字、Wは英数字じゃない
//Aは文字列の先頭
//Zは文字列の末尾
$pat = array('[012]','[0-3]','[^012]','s','S','d','D','w','W','A','Z');
$cake = array('0','1','2','3',' ','a');
?>
| パターン | 文字列 | 一致 |
|---|---|---|
| '.$pa.' | '; echo ''.$ca.' | '; //preg_match()でパターンと文字列が一致(Match)するか if(preg_match("/$pa/","$ca")){ $mat = '〇'; }else{ $mat = '×'; } echo ''.$mat.' |
繰り返し記号
文字の繰り返しをあらすことができるメタ文字。記号の直前の文字を繰り返す。
実行結果を確認するにはこちら
<?php
//繰り返し記号を使った正規表現
//「*」は0回以上、「+」は1回以上、「?」は0または1回
//「{a}」はa回、「{a,}」はa回以上、「{a,b}」はa~b回
$pat = array('A*','A+','A?','A{3}','[0-9A-Za-z]{4}');
$cake = array('Z','A','AA','AAA','ABCD');
?>
| パターン | 文字列 | 一致 |
|---|---|---|
| '.$pa.' | '; echo ''.$ca.' | '; //preg_match()でパターンと文字列が一致(Match)するか if(preg_match("/$pa/","$ca")){ $mat = '〇'; }else{ $mat = '×'; } echo ''.$mat.' |
文字列の置換
文字列が一致した場合に文字列置換を行う。
実行結果を確認するにはこちら
<?php
//正規表現を使った文字列の置換
$file = array('cake.jpg','tart.txt','cheese.html','apple.xml','donut.php');
?>
| 文字列 | 変換後 |
|---|---|
| '.$fi.' | '; echo ''.$hen.' |