当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP preg_match()用法及代码示例


此函数在字符串中搜索模式,如果模式存在,则返回true,否则返回false。通常,搜索从主题字符串的开头开始。可选参数offset用于指定从何处开始搜索的位置。

用法:

int preg_match( $pattern, $input, $matches, $flags, $offset )

参数:该函数接受上述和以下所述的五个参数:


  • pattern:此参数以字符串形式保存要搜索的模式。
  • input:此参数保存输入字符串。
  • matches:如果存在匹配项,则它包含搜索结果。 $matches [0]将包含与完整模式匹配的文本,$matches [1]将包含与第一个捕获的带括号的子模式匹配的文本,依此类推。
  • flags:这些标志可以是以下标志:
    • PREG_OFFSET_CAPTURE:如果传递了此标志,则对于每个匹配项,将返回附加字符串偏移量。
    • PREG_UNMATCHED_AS_NULL:如果传递了此标志,则不匹配的子模式将报告为NULL;否则,报告为NULL。否则,它们报告为空字符串。
  • offset:通常,搜索从输入字符串的开头开始。此可选参数offset用于指定从哪里开始搜索的位置(以字节为单位)。

返回值:如果模式存在,则返回true,否则返回false。

以下示例说明了PHP中的preg_match()函数:

范例1:本示例接受PREG_OFFSET_CAPTURE标志。

<?php 
  
// Declare a variable and initialize it 
$geeks = 'GeeksforGeeks'; 
  
// Use preg_match() function to check match 
preg_match('/(Geeks)(for)(Geeks)/', $geeks, $matches, PREG_OFFSET_CAPTURE); 
  
// Display matches result 
print_r($matches); 
  
?>
输出:
Array
(
    [0] => Array
        (
            [0] => GeeksforGeeks
            [1] => 0
        )

    [1] => Array
        (
            [0] => Geeks
            [1] => 0
        )

    [2] => Array
        (
            [0] => for
            [1] => 5
        )

    [3] => Array
        (
            [0] => Geeks
            [1] => 8
        )

)

范例2:

<?php 
  
// Declare a variable and initialize it 
$gfg = "GFG is the best Platform."; 
  
// case-Insensitive search for the word "GFG" 
if (preg_match("/\bGFG\b/i", $gfg, $match))  
    echo "Matched!"; 
else
    echo "not matched"; 
      
?>
输出:
Matched!

参考: http://php.net/manual/en/function.preg-match.php



相关用法


注:本文由纯净天空筛选整理自PranchalKatiyar大神的英文原创作品 PHP | preg_match() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。