?? PHP ?? ????: ???? ?? ???
1. ?? ??
????? Atom? ?? ??? ?? ??? ?????. ??? ?? ???? ? ? ?? ??? ??? ????.
abc? ? ?? ?? ?? ??? ??? ??? ???????
???? ??? ?? ???? ?? ??? ????. ??? ???? ?? ??? ?? ????
?? ?? ??? ????? ???? ??? ?? ?? ??? ???? ???.
????? ???? ?? ?? ??? ??? ????.
?? ?? ??? ???? ??? ????.
/ ?? ??? ??/?? ?? ?? ??
? ? ??? ?? ?????. ?:
/w+/s
???? ?? ??? ?? ?? ?? ?? ??? ?? ??? ??? ???? ????. . ?? ?? ??? ???? ?? ???? ?? ?? ??? ???? ?? ??? ?????
2. i? ????? ???? ????
<?php //在后面加上了一個(gè)i $pattern = '/ABC/i'; $string = '8988abc12313'; $string1 = '11111ABC2222'; if(preg_match($pattern, $string, $matches)) { echo '匹配到了,結(jié)果為:'; var_dump($matches); } else{ echo '沒有匹配到'; } ?>
??, ? ? $string? $string1? ????? ??????. ??? ???? i? ???? ???? ??? ??? ??? ? ????
3. m? ?? ?? ?????
?? ??? ??? ? ?? ?? ???? ????? ???? ?????.
"? ??" ?? ??(^)? ???? ?? ???? ???? "? ?" ?? ??($)? ??? ? ???? ?????.
? ???? ???? "? ??"? "? ?"? ?? ???? ??? ?? ??? ?? ??? ?? ??? ?? ?? ?? ?????.
??: ???? ???? "n" ??? ??? ??? ^ ?? $? ?? ?? ? ???? ???? ??? ????.
??? ??? ?? ? ??? ??? ?????.
? ?? ??? ?? ??? ????? ? ? ????.
<?php $pattern = '/^a\d+/'; $string = "我的未來在自己手中我需要不斷的努力 a9是一個(gè)不錯(cuò)的字符表示 怎么辦呢,其實(shí)需要不斷奮進(jìn)"; if (preg_match($pattern, $string, $matches)) { echo '匹配到了,結(jié)果為:'; var_dump($matches); } else { echo '沒有匹配到'; } ?>
? ?? ??? ??, m? ??? ???:
<?php $pattern = '/^a\d+/m'; $string = "我的未來在自己手中我需要不斷的努力 a9是一個(gè)不錯(cuò)的字符表示 怎么辦呢,其實(shí)需要不斷奮進(jìn)"; if (preg_match($pattern, $string, $matches)) { echo '匹配到了,結(jié)果為:'; var_dump($matches); } else { echo '沒有匹配到'; } ?>
??:
???? ??
??? ??????. /^ad+/ ???? ???? a9?? ?? ?? ??? ??? ???. ? ?? ?? ????? ??????.
4.s? ? ?? ?????
? ???? ???? ??? ? ?? ??(.)? ?? ??? ?????. , ?? ?? ??.
???? ?? ?? ?? s? ????.
<?php $pattern = '/新的未來.+\d+/'; $string = '新的未來 987654321'; if (preg_match($pattern, $string, $matches)) { echo '匹配到了,結(jié)果為:'; var_dump($matches); } else { echo '沒有匹配到'; } ?>
? ???? ??? ?? ?? ?? ?? s? ?????.
<?php $pattern = '/新的未來.+\d+/s'; $string = "新的未來 987654321"; if (preg_match($pattern, $string, $matches)) { echo '匹配到了,結(jié)果為:'; var_dump($matches); } else { echo '沒有匹配到'; ?>
??? ??? ????. ??? ????????!
??:
1. ??? ???? ?? ?? ? ??? ?????
2. ??? .(?)? ??? ?? ??? ??? ?? ??? ?????. ??? 1?? ??????
3. 2??? s ????? ???????. .(?)? ???? ?? ??? ??? ? ?? ?????.
5. x? ?? ??? ?????
1. ? ???? ???? ???????? ?? ??? ?? ?? ??? ???? ??? ?? ??? ??? ?????.
2. ??????? ?? ?? ??? ??? # ??? ?? ?? ?? ??? ??? ?????.
? ? ??? ?? ??? ?? ??? ?????.
<?php $pattern = '/a b c /x'; $string = '學(xué)英語要從abc開始'; if (preg_match($pattern, $string, $matches)) { echo '匹配到了,結(jié)果為:'; var_dump($matches); } else { echo '沒有匹配到'; } ?>
??? ?? ????? ??? ? ????.
$pattern?? ??? ??, ? abc ??? ??? ????. $string?? ??? ????.
??? x? ?? ??? ?????.
? ?? ??? ?? ??? ????? ? ?????,
rree??? ???? ??!
??: x? ? ?? ??? ????? ?? ??????. # ??? ?? ?? ?? ??? ??? ?????.
6. e ???? ??? ??? ??
e ??? ?????? ???. . ?? ??? ??? ?? ?? ??? ??? ?? ??? ?? ?? ???? ??? ????.
? ?? ???? ???? ?? Preg_replace()? ???? ???.
?? preg_replace(?? $regular ??, ?? $replacement, ?? $search ???)
preg_replace ??: $ ?? ?? ?? ??? ????? $ ?? ??? ??? ????. ?? ?? $replacement ??? ???? ?????.
???? ??? ?? ?? ??? ??? ?????. ??? ? ?? ??? ????? ??? ?????.
<?php //重點(diǎn)觀察這一行 $pattern = '/a b c #我來寫一個(gè)注釋 /x'; $string = '學(xué)英語要從abc開始'; if (preg_match($pattern, $string, $matches)) { echo '匹配到了,結(jié)果為:'; var_dump($matches); } else { echo '沒有匹配到'; } ?>
??? ??? ???????.
??? ??? ?? ???? ?? ???, ???? ??? ??? ??? ????. ??? ?? ??? ?? ??? ?????. ??? ??? ??: 987, abc, 321.
???? ??? ???? e ??? ???????.
<?php //加上了括號(hào) $pattern = '/(\d+)([a-z]+)(\d+)/'; $string = '987abc321'; if (preg_match($pattern, $string, $match)) { echo '匹配到了,結(jié)果為:'; var_dump($match); } else { echo '沒有匹配到'; } ?>
??? ??? ?????
??:
?? ??? $2? ?? ???? ???? ? ??(d+)? ?????. ?? 15?? ?? ?? ????
??? ? $2? ???. ???? ??? ??? ?? ?? ??? ???? ? ??????.
7. U ?? ?? ??
???? ????? ??, ? ??? ??????.
???? ??? ?????? ???????.
<?php $string = "{April 15, 2003}"; //'w'匹配字母,數(shù)字和下劃線,'d'匹配0-99數(shù)字,'+'元字符規(guī)定其前導(dǎo)字符必須在目標(biāo)對(duì)象中連續(xù)出現(xiàn)一次或多次 $pattern = "/{(\w+) (\d+), (\d+)}/i"; $replacement = "$2"; //字符串被替換為與第 n 個(gè)被捕獲的括號(hào)內(nèi)的子模式所匹配的文本 echo preg_replace($pattern, $replacement, $string); ?>
??? ?????? ??? ?? ??? ?????. "
Hello"?? "I am
"?? ?? ?????. ?? ??? ???????.
??? ??? ??? U? ???? ??? ???????.
<?php $pattern = '/<div>.*<\/div>/'; $string = "<div>你好</div><div>我是</div>"; if (preg_match($pattern, $string, $match)) { echo '匹配到了,結(jié)果為:'; var_dump($match); } else { echo '沒有匹配到'; } ?>
?? ??? ?????.
???? ??? ?? ?? ??????.
<div>?????</div>
??? ?? ???? ????? ??? ?????. ?? ??? ?? ??? ??? ?????.
8. A? ?? ???? ?? ????
? ?????. ? ??? ?? ??? ^(??) ??? ?????. .
<?php $pattern = '/<div>.*<\/div>/U'; $string = "<div>你好</div><div>我是</div>"; if (preg_match($pattern, $string, $match)) { echo '匹配到了,結(jié)果為:'; var_dump($match); } else { echo '沒有匹配到'; } ?>
??:
A ?? ???? ??? ? $string? ???? ? ??? ???? ??? ??? ? ????.
A ?? ???? ???? $string1? ???? ???? ??? ?? ??
9. D End$ ??? ??
?? ??? ?????. ? ???? ??? ?? ??? ?? ?? ??? ?? ???? ??? ?????. ? ??? ??? ?? ??? ?? ??? ?? ??? ?? ???? ?????.
<?php $pattern = '/this/A'; $string = 'hello this is a '; //$string1 = 'this is a '; if (preg_match($pattern, $string, $match)) { echo '匹配到了,結(jié)果為:'; var_dump($match); } else { echo '沒有匹配到'; } ?>
??? ???? ?????
??:
1. ?? ?? ??? $string? ???? this ??? ?? ??? ????. $string ???. D ?? ??
2? ???? ??? ????? ??? ? ????. ?? ?? ??? $string? ???? D? ?????. $string? this ??? ?? ??? ?? ??? ?????.