PHP正則 preg_match()
阿新 • • 發佈:2018-12-10
定義和用法
preg_match() 函式用於進行正則表示式匹配,成功返回 1 ,否則返回 0 。
preg_match() 匹配成功一次後就會停止匹配,如果要實現全部結果的匹配,則需使用 preg_match_all() 函式。
語法
- preg_match (pattern , subject, matches)
引數 | 描述 |
---|---|
pattern | 正則表示式 |
subject | 需要匹配檢索的物件 |
matches | 可選,儲存匹配結果的陣列 |
例子 1
- <?php
- // 模式定界符後面的 "i" 表示不區分大小寫字母的搜尋
- if (preg_match ("/hi/i", "Welcome to hi-docs.com.")) {
- echo "A match was found.";
- } else {
- echo "A match was not found.";
- }
- ?>
輸出:
- A match was found.
例子 2
匹配字串中的url超連結
- <?php
- $urls = '<h3><a target="_blank" href="/php/preg_match.html"><span class="hl">preg</span>_match()</a></h3><p>[<a href="/Php.html">PHP</a>] 進行正則表示式匹配<br/><em>適用版本:5</em></p></dd><dd><h3><a target="_blank" href="/php/preg_match_all.html"><span class="hl">preg</span>_match_all()</a></h3>';
- if(preg_match("/<a[^>]*?href=\"([^>]+?)\"[^>]*?>.+?<\/a>/i", $urls ,$match)) {
- print_r($match);
- } else {
- echo "不匹配.";
- }
- ?>
輸出:
- Array
- (
- [0] => <a target="_blank" href="/php/preg_match.html"><span class="hl">preg</span>_match()</a>
- [1] => /php/preg_match.html
- )
例子3
使用正則表示式匹配中文
- $str = 'preg_match正則匹配中文123';
- // 正則表示式匹配中文(UTF8編碼)
- if(preg_match('/[\x{4e00}-\x{9fa5}]+/u',$str)){
- echo '匹配';
- }else{
- echo '沒有匹配';
- }
- // 正則表示式匹配中文(GB2312,GBK編碼)
- preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str);