说明
int 
preg_match ( string pattern, string subject [, array matches [, int flags]])
     在 subject 字符串中搜索与
     pattern 给出的正则表达式相匹配的内容。
    
     如果提供了
     matches,则其会被搜索的结果所填充。$matches[0]
     将包含与整个模式匹配的文本,$matches[1]
     将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推。
    
     flags 可以是下列标记:
     
- PREG_OFFSET_CAPTURE
 
         如果设定本标记,对每个出现的匹配结果也同时返回其附属的字符串偏移量。注意这改变了返回的数组的值,使其中的每个单元也是一个数组,其中第一项为匹配字符串,第二项为其偏移量。本标记自
         PHP 4.3.0 起可用。
        
 
     flags 参数自
     
PHP 4.3.0 起可用。
    
     preg_match() 返回
     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.")) {     print "A match was found."; } else {     print "A match was not found."; } ?>
 |  
  | 
    
     
例子 2. 搜索单词“web” 
<?php /* 模式中的 \b 表示单词的边界,因此只有独立的 "web" 单词会被匹配,  * 而不会匹配例如 "webbing" 或 "cobweb" 中的一部分 */ if (preg_match ("/\bweb\b/i", "PHP is the web scripting language of choice.")) {     print "A match was found."; } else {     print "A match was not found."; }
  if (preg_match ("/\bweb\b/i", "PHP is the website scripting language of choice.")) {     print "A match was found."; } else {     print "A match was not found."; } ?>
 |  
  | 
    
     
例子 3. 从 URL 中取出域名 
<?php // 从 URL 中取得主机名 preg_match("/^(http:\/\/)?([^\/]+)/i",     "http://www.php.net/index.html", $matches); $host = $matches[2];
  // 从主机名中取得后面两段 preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches); echo "domain name is: {$matches[0]}\n"; ?>
 |  
 
       本例将输出:
        | 
    
     参见 preg_match_all(),preg_replace()
     和 preg_split()。