php preg match用法是執行一個正規表示式匹配,語法為【int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags.]】。
preg_match
函數用於執行一個正規表示式匹配。
語法
int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )
搜尋subject 與pattern 給定的正規表示式的一個符合。
參數說明:
PREG_OFFSET_CAPTURE: 如果傳遞了這個標記,對於每一個出現的匹配返回時會附加字串偏移量(相對於目標字串的)。注意:這會改變填充到matches參數的數組,使其每個元素成為由第0個元素是匹配到的字串,第1個元素是該匹配字串在目標字串subject中的偏移量。
傳回pattern 的符合次數。它的值將是0 次(不符)或 1 次,因為preg_match () 在第一次匹配後將會停止搜尋。preg_match_all() 不同於此,它會一直搜尋subject 直到到達結尾。如果發生錯誤preg_match()返回FALSE。
#實例1、尋找文字字串"php":
<?php //模式分隔符后的"i"标记这是一个大小写不敏感的搜索 if (preg_match("/php/i", "PHP is the web scripting language of choice.")) { echo "查找到匹配的字符串 php。"; } else { echo "未发现匹配的字符串 php。"; } ?>
執行結果如下所示:
查找到匹配的字符串 php。
2、尋找單字"word"
<?php /* 模式中的\b标记一个单词边界,所以只有独立的单词"web"会被匹配,而不会匹配 * 单词的部分内容比如"webbing" 或 "cobweb" */ if (preg_match("/\bweb\b/i", "PHP is the web scripting language of choice.")) { echo "查找到匹配的字符串。\n"; } else { echo "未发现匹配的字符串。\n"; } if (preg_match("/\bweb\b/i", "PHP is the website scripting language of choice.")) { echo "查找到匹配的字符串。\n"; } else { echo "未发现匹配的字符串。\n"; } ?>
執行結果如下所示:
查找到匹配的字符串。 未发现匹配的字符串。
3、取得URL 中的網域名稱
<?php // 从URL中获取主机名称 preg_match('@^(?:http://)?([^/]+)@i', "http://www.runoob.com/index.html", $matches); $host = $matches[1]; // 获取主机名称的后面两部分 preg_match('/[^.]+\.[^.]+$/', $host, $matches); echo "domain name is: {$matches[0]}\n"; ?>
執行結果如下所示:
domain name is: runoob.com
4、使用命名子群組
<?php $str = 'foobar: 2008'; preg_match('/(?P<name>\w+): (?P<digit>\d+)/', $str, $matches); /* 下面例子在php 5.2.2(pcre 7.0)或更新版本下工作, 然而, 为了后向兼容, 上面的方式是推荐写法. */ // preg_match('/(?<name>\w+): (?<digit>\d+)/', $str, $matches); print_r($matches); ?>
執行結果如下所示:
Array ( [0] => foobar: 2008 [name] => foobar [1] => foobar [digit] => 2008 [2] => 2008 )想了解更多程式設計學習,請關注
php培訓
以上是php preg match用法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!