æ£èŠè¡šçŸã§äœãã§ããïŒPHPã§ã®äœ¿ãæ¹ãªã©ã解説
æ£èŠè¡šçŸã¯æååã®æ å ±ãªã©ãå å·¥ããããã«è¡ããããã®ã§ãPHPã«ã¯æ£èŠè¡šçŸãè¡ãããã«æ§ã ãªé¢æ°ãçšæãããŠããŸããpreg_matchã¯æãåºæ¬çãªé¢æ°ã®ã²ãšã€ã§ããã®ä»ã«ãèŠããŠããã¹ã颿°ã¯ããã€ããããŸãããŸãèšå·ã®æå³ãåãããªããã°æ£èŠè¡šçŸãå®å šã«çè§£ããããšã¯ã§ããªããããèšå·ã«ã€ããŠã®ç¥èãå匷ããå¿ èŠããããŸããæ£èŠè¡šçŸã¯ãŠãŒã¶ãŒããæ å ±ãåãåã£ãéããå éšçãªåŠçã®å Žé¢ã§ããã䜿ããããã®ã§ããé©åã«æ£èŠè¡šçŸãããŠãããªããã°äžå®å®ãªç¶æ ã«ãªã£ãŠããŸããŸãã
ããã§ã¯ãPHPã«ãããŠæ£èŠè¡šçŸãã©ã®ããã«äœ¿ãããã©ã®ããã«ããŠèšè¿°ããã®ã解説ãããŠãããŸãã
æ£èŠè¡šçŸãšã¯

æååçã«å¯ŸããŠæ§ã ãªæäœãè¡ãå Žåãæ£èŠè¡šçŸããçšããããŸããæ£èŠè¡šçŸãšã¯ãããã«ãŒã«ããã¿ãŒã³ã䜿ã£ãŠãç¹å®ã®æååãæ€çŽ¢ãæœåºããããªã©ãå å·¥ãæœãããšã®ã§ãããã®ã§ããè€éãããããäœ¿ãæ¹ã«ã¯æ³šæãå¿ èŠã§ããæŽ»çšãããå Žé¢ãå€ãã§ãã
PHPã䜿ã£ãŠWebã¢ããªãäœæãããã®ã§ããã°ãæ£èŠè¡šçŸã䜿ãããªãããšãå¿ èŠã«ãªããŸãã
ã©ãããæ å ±ãå€å®ã§ãã
æ£èŠè¡šçŸã§ã§ããããšãç°¡åã«èª¬æãããšãå ¥åãã©ãŒã ããæã¡èŸŒãŸããæååãã¡ãŒã«ã¢ãã¬ã¹ãšããŠå€æããããšãã7æ¡ã®æ°åãéµäŸ¿çªå·ãšèªã¿åãããšãªã©ãã§ããŸãã
äŸãã°ã¡ãŒã«ã¢ãã¬ã¹ã®å Žåãå€ãã¯@ãæãã§ååŸã§æååã®æã€æå³åããç°ãªããŸãã@ããåã¯ãŠãŒã¶ãŒãèšå®ããä»»æã®æååã@ããåŸãã§ã¯ãã¡ã€ã³éšåãšãªããŸããæ£èŠè¡šçŸã®åºæ¬çãªæ©èœãšããŠãããæåãæ¢ãããšããããšãã§ããŸãããã®ãã@ãæ¢ãåºããŠãå ¥åãããæåãã¡ãŒã«ã¢ãã¬ã¹ãšããŠæå¹ãªåœ¢ãšãªã£ãŠããã®ãã©ããå€å®ã§ããŸãã
éµäŸ¿çªå·ã§ããã°ãå ¥åã®éã«ãã€ãã³ãæã€å Žåãšæããªãå ŽåãšããããŸããå ¥åãã©ãŒã ã§ãã®å€æãã§ããªããã°ããŠãŒã¶ãŒãã©ã£ã¡ã®ã¿ã€ãã§ãå ¥åããŠããå¯èœæ§ããããããããããã«å¯Ÿå¿ããå¿ èŠããããŸãããã€ãã³ããã£ããšããŠããããããåã®3æ¡ã®æ°åããã³åŸãéšåã®4æ¡ãæãåºããŠã7ã€ã®æ°åã䞊ãã 圢ã§ç®¡çããŠããããšãå¯èœãšãªããŸãã
ç¹ã«PHPãšããèšèªã¯Webé¢é£ã§å€ã䜿çšãããããããã°ã€ã³æ©èœããåãåããæ©èœãªã©ãèšããããšãå€ãã§ããæ£ããæ£èŠè¡šçŸã䜿çšã§ããªããã°ã»ãã¥ãªãã£ã«ãåé¡ãçãããããäœ¿ãæ¹ã«ã¯æ³šæãå¿ èŠã§ãã
PHPã®æ£èŠè¡šçŸã§ãã䜿ãããŠããèšå·

æ£èŠè¡šçŸãè¡ãå Žåãèšå·ãçŸ åãããããšã«ãªããåèšå·ã®æå³ãç¥ã£ãŠãããªããã°æ··ä¹±ããããšããããŸããããã§PHPã§äœ¿ãããããšã®å€ã代衚çãªèšå·ã«ã€ããŠèª¬æããŠãããŸãã
ããªãã¿ãšã¡ã¿æå
ããªãã¿ãšã¯åºåããæå³ãããã®ã§ããæ£èŠè¡šçŸãæ±ãã«ã¯ãã®ããªãã¿ãé©åã«äœ¿çšããŠããå¿ èŠããããŸããã¹ã©ãã·ã¥ã/ããããã·ã¥èšå·ãâ¯ããçšããããã±ãŒã¹ãå€ãã§ããäžèšã®ããã°ã©ã ã§ã¯ã¹ã©ãã·ã¥ã䜿çšããŠããŸãã ã¡ã¿æåã¯æ£èŠè¡šçŸã§ãã¿ãŒã³ã衚ãããã®ç¹æ®ãªèšå·ã®ããšã§ããäŸãã°ä»¥äžã®ãããªãã®ããããŸãã
| \ | ãšã¹ã±ãŒãæå |
| ^ | è¡é ã«ããã |
| $ | è¡æ«ã«ããã |
| - | æåã®ç¯å²æå® |
| | | ïŒå·ŠïŒãŸãã¯ïŒå³ïŒã®ããã |
| () | ã°ã«ãŒãå |
| [^] | è§æ¬åŒ§å 以å€ã®æåã«ããã |
PHPã«ãããæ£èŠè¡šçŸ

PHPã§ã¯å€ãã®æ£èŠè¡šçŸæ§æãçšæãããŠããŸãããpreg_matchããpreg_match_allããpreg_replaceããªã©ã¯åºæ¬çãªé¢æ°ã§ãã®ã§ããŸãã¯ãããããã¹ã¿ãŒããŠãããŸãããã
åºæ¬çãªåŠç
ãpreg_matchãã䜿ã£ãæ£èŠè¡šçŸã®äŸãèŠãŠã¿ãŸãããã
$str = 'abcd1234';
$pattern = '/[a-z]/';
if (preg_match($pattern, $str, $match)) {
var_dump($match);
}
ãããå®è¡ãããšã
array(1) { [0]=> string(1) "a" }
ãšè¡šç€ºãããŸãã
ãã®æ£èŠè¡šçŸã§ã¯ãæåã«å€æ°strã«abcd1234ãå ¥ããŠãããŠã倿°patternã§ãã¿ãŒã³ãèšå®ããŠããŸãããããŠé¢æ°preg_matchã§åŠçãè¡ããŸãã
preg_matchã¯æ»ãå€ãšããŠãã¿ãŒã³ã«ãããããåæ°ãè¿ãããããŠãã®å Žåæåã«ãããããæç¹ã§ãããã³ã°ãçµäºããããã1ãè¿ãããŸããåœç¶ãæååãå«ãŸãªãå Žåã«ã¯ãããããªããã0ãè¿ãããŸãããããifã®äžã§trueãšåãæ±ããåããvar_dump($match)ãå®è¡ãããŸãã
ãpreg_match_allãã䜿ã£ãæ£èŠè¡šçŸã«ã€ããŠãèŠãŠãããŸãã
preg_matchãšã¯ç°ãªãã1åã®ãããã§ãããã³ã°ãæ¢ããŸãããæ£èŠè¡šçŸãè¡ãããå¯Ÿè±¡ã®æååã«ãããŠããã¿ãŒã³ã«äžèŽãããã®ãã¹ãŠãæœåºãããŸã§ç¶ããŸãã
äžã®ããã°ã©ã ã§é¢æ°preg_match_allã«çœ®ãæããŠã¿ãŸãããã
$str = 'abcd1234';
$pattern = '/[a-z]/';
if (preg_match_all($pattern, $str, $match)) {
var_dump($match);
}
å®è¡çµæã¯ä»¥äžã®ããã«ãªããŸãã
array(1) {
[0]=> array(4) {
[0]=> string(1) "a"
[1]=> string(1) "b"
[2]=> string(1) "c"
[3]=> string(1) "d"
}
}
颿°ãå€ããã ãã§ãããåºåããããã®ãaã ãã§ãªãaãbãcãdããšæå®ãããã¿ãŒã³ã«è©²åœãããã¹ãŠã®æåãæœåºãããŠããŸãã
ç¶ããŠãpreg_replaceãã«ã€ããŠã説æããŸãã
ãã¡ãã¯æååã®çœ®æãè¡ã颿°ã§ããäŸãã°ä»¥äžã®ããã«æ ŒçŽãããããŒã¿ã®é çªãå
¥ãæ¿ããããšãã§ããŸãã
$num = '1234';
$pattern = '/(\d{1})(\d{1})(\d{1})(\d{1})/';
$replace = '$4$3$2$1';
$result = preg_replace($pattern, $replace, $num);
echo $num,"\n";
echo $result;
ãããå®è¡ãããšå€æ°numã§ã¯1234ã倿°resultã§ã¯4321ã衚瀺ãããŸããpreg_replaceã®ç¬¬1åŒæ°ã«ã¯ãã¿ãŒã³ã第2åŒæ°ã§ã¯ã©ã®ããã«çœ®æãããã®ãæå®ããŸãã第1åŒæ°ã§ã¯ãã®å Žåæ°åãïŒã€ãã€æå®ããŠããã$1ã$2ãšãã£ãåœ¢ã§æäœããããšãå¯èœã«ãªããŸãã
泚æç¹
æ£èŠè¡šçŸã«ã¯PCREãšPOSIXæ¡åŒµãšããæ£èŠè¡šçŸãšã³ãžã³ããããããããã§äœ¿çšããã颿°ã¯pregããããã¯eregã§å§ãŸããŸãããã®ããã«2çš®é¡ããããã®ã®ãeregç³»ã¯æšå¥šãããŠããããåºæ¬çã«PHPã§æ£èŠè¡šçŸãè¡ãå Žåã«ã¯pregç³»ã䜿çšããŸãã
pregç³»ã«ã颿°ãããã€ããããè²ããªå Žé¢ã«å¿ããŠå€å®ãè¡ã£ãŠããããšãã§ããŸãããã ããæ£èŠè¡šçŸã䜿çšããªããŠãå€å®ãå¯èœãªã±ãŒã¹ããããããè²ã ãªèŠç¹ãã颿°ãéžæããããã«ããŸããããå€å®ã®æ¹æ³ã«ãã£ãŠã¯åŠçã«æéãããã£ãŠããŸãããŒãžã®é床ãèœãšããŠããŸãåå ã«ããªã£ãŠããŸããŸãã
ãŸãšã
æ£èŠè¡šçŸã§ã¯èšå·ãå€ã䜿ãããããé£ããæããŸãããWebå¶äœã«ã¯å¿
èŠãªç¥èãšãªãã®ã§é 匵ã£ãŠèŠããŸãããã
颿°ã«ã€ããŠãäœ¿ãæ¹ãèŠããã©ã®åŒæ°ãã©ã®æå³ãæã€ã®ãããããŠã©ã®ããã«æ£èŠè¡šçŸãè¡ãããã®ãä»çµã¿ãçè§£ããŸãããã
䜿ãããªãããšãã§ããã°ãšãŠã䟿å©ãªãã®ãªã®ã§ãPHPã§äœãWebå¶äœããããå Žåãªã©ã«ã¯èº«ã«ã€ããŠãããšè¯ãã§ãããã
TECH PLAYã§ã¯ããšã³ãžãã¢ã®æ¹åãã«å匷äŒã»ã€ãã³ãæ
å ±ãæäŸããŠããŸãã
ãèå³ã®ããæ¹ã¯ãã²ãåå ãã ããã
- ãPHPãã«é¢ããå匷äŒã»ã€ãã³ããæ¢ã
- ãããã°ã©ãã³ã°ãã«é¢ããå匷äŒã»ã€ãã³ããæ¢ã
- ãåå¿è ãã«é¢ããå匷äŒã»ã€ãã³ããæ¢ã












