首页 >后端开发 >php教程 >PHP 中的 preg_match (函数)

PHP 中的 preg_match (函数)

PHPz
PHPz原创
2024-08-29 12:49:511035浏览

PHP 编程语言的 preg_match() 函数在字符串中搜索模式,只有当模式存在时,该函数才返回 TRUE,否则 preg_match() 函数将返回 FALSE。 Preg_match() 函数基本上使用一些参数来工作,这些参数在搜索输入字符串数据/字符串模式内部的字符串模式时非常有用和有帮助。第一个参数是存储要搜索的字符串模式。第二个参数是存储输入的字符串。我们使用 preg_match() 函数在字符串数据中搜索所需的字符串模式。 “matches”参数,当包含并与 print 一起使用时,将找到匹配的字符串内容并将其显示在输出中。

广告 该类别中的热门课程 PHP 开发人员 - 专业化 | 8 门课程系列 | 3次模拟测试

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

语法:

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

说明:

  • PHP 语言的 preg_match() 函数通常只接受 5 个参数,如上文语法栏中所述,这些参数位于 preg_match() 函数内部。
  • preg_match() 函数包含五个参数:pattern、input、matches、flags 和 offset。
  • preg_match() 函数中的每个参数都有助于在包含字母数字字符串数据的大字符串或文档中搜索字符串模式。

preg_match 在 PHP 中如何工作?

PHP 编程语言中的 preg_match() 函数在大量字符串句子或其他数据中搜索字符串模式。如果找到字符串模式,它仅返回 TRUE 值。否则,它返回 FALSE 值。 PHP 的 Preg_match() 函数通常基于 preg_match () 函数内部包含的五个参数来工作。

下面给出的是参数:

1。模式参数:这是PHP的preg_match()参数,用于保存模式以将字符串作为字符串进行搜索。我们通过在函数内使用“$”符号将模式表示为变量。

2。输入参数:输入参数位于 preg_match() 函数内部,保存字符串输入/字符串输入值。

3。匹配参数: 匹配参数位于 preg_match() 内部,仅当匹配存在时才会提供搜索结果。匹配意味着相同的字符串存在或不存在。 $matches[0] 实际上包含全文,即完全匹配的字符串模式。 $matches[1] 将包含与第一个带括号的捕获子模式匹配的字符串文本等..

大多数字符串模式可以在 $matches[0][0], $matches[1][0], $matches[2][0], $matches[3][0] 等处找到。 $matches[0][1]、$matches[1][1]、$matches[2][1]和$matches[3][1],你会发现NULL,这意味着0作为字符串模式值,因为它没有在 matches 数组中存储任何内容。

4。 Flags 参数:flags 参数可以包含一些其他标志,这对于处理字符串模式搜索非常有帮助。

  • PREG_OFFSET_CAPTURE FLAG: 如果将该标志传递给 preg_match() 函数,它将返回每个匹配字符串附加的偏移量。
  • PREG_UNMATCHED_AS_NULL FLAG: 此标志有助于报告为 NULL。当该标志被传递时,子模式将被报告为 NULL,因为子模式根本不匹配。

5。偏移参数: preg_match() 函数的偏移参数对于从作为输入发送的字符串的开头进行搜索非常有帮助。此偏移参数是可选的,并不总是需要的。您可以根据需要使用它。 “offset”参数指定字符串搜索的起始位置。

6。 preg_match() 的返回值: 仅当字符串模式存在时,PHP 的 preg_match() 函数才始终返回 TRUE,否则 preg_match() 函数将返回 FALSE。

PHP 中的 preg_match 示例

以下是示例:

示例#1

这说明了 preg_match() 使用 PREG_OFFSET_CAPTURE 标志。 “$pavan1”被创建并存储为字符串值“PavanKumarSake”并分配给“$pavan1”。然后使用参数声明 preg_match()。

‘/(Pavan)(Kumar)(Sake)/’ is the pattern parameter that holds the pattern, which is to search in the input string/string value. Next, we insert the variable “$pavan1” as an input variable. This variable usually contains the string element that we need to search to determine if the string variable’s value exists within it or not. Next, we place the variable “$matches1” after the comma following the variable “$pavan1”. This is helpful to check at what position the patterns are available inside the input string ”PavanKumarSake”.

In the above preg_match() working explanation, we said that what $matches[0] and $matches[1] will return. Likewise, in the below example, $matches[1] will provide the result that is/are fully matched with the pattern/patterns. So the output of array[0] is “PavanKumarSake” because it contains the full string/text.

Then array[1][0] will be “Pavan” then array[2][0] is “Kumar” and array[3][0] is “Sake” based on example1’s output. Then the “print_r($matches1)” is to print what matches are available inside the input string and also shows at what position the string pattern/patterns are available inside the string pattern. Print_r will show the output of the above preg_match() program of PHP Programming Language.

Code:

<?php
$pavan1 = 'PavanKumarSake';
preg_match('/(Pavan)(Kumar)(Sake)/', $pavan1, $matches1, PREG_OFFSET_CAPTURE);
print_r($matches1);
?>

Output:

PHP 中的 preg_match (函数)

Example #2

In the example below, we assign the string value “www.profitloops.com” to the variable $pro_url. To check if the word “profit” is present in the variable $pro_url, you can use an if statement with the preg_match function. If the function returns a non-zero value, indicating a match, the if condition will consider it as true.

You can then execute the desired statement. The statement “The URL www.profitloops.com contains profit” will be printed if the word “profit” is present in the URL. The browser will display the output below the output section. If the word “profit” is not present in www.profitloops.com, then statements that are in the ELSE condition will be printed.

We use another IF statement to check if the word “loops” appears in the word located at www.profitloops.com. If the condition is a fault, then the ELSE condition’s statements will be printed. But here, the IF conditions are TRUE, so the statements that are inside of the IF will be printed.

Code:

<?php
$pro_url = "www.profitloops.com";
if (preg_match("/profit/", $pro_url))
{
echo "the url $pro_url contains profit , ";
}
else
{
echo "the url $pro_url does not contain profit , ";
}
if (preg_match("/loops/", $pro_url)){
echo "the url $pro_url contains loops , ";
}
else{
echo "the url $pro_url does not contain loops , ";
}
?>

Output:

PHP 中的 preg_match (函数)

以上是PHP 中的 preg_match (函数)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
上一篇:PHP fpm下一篇:PHP preg_replace()