Home  >  Article  >  Backend Development  >  How does PHP regular expression preg_match implement the matching function?

How does PHP regular expression preg_match implement the matching function?

黄舟
黄舟Original
2017-07-20 13:15:393391browse

The example of this article describes the implementation of regular expression matching function by PHP preg_match. Share it with everyone for your reference, the details are as follows:

preg_match — Execute a regular expression match

preg_match ( $pattern , $subject , $matches )

Search for the regular expression given by subject and pattern A match.

Parameters:

pattern : Pattern to be searched, string type (regular expression).
subject : Input string.
matches : (optional) If the parameter matches is provided, it will be populated as search results. $matches[0] will contain the text matched by the full pattern, $matches[1] will contain the text matched by the first captured subgroup, and so on.

Return value:

preg_match() returns the number of matches for pattern. Its value will be 0 (no match) or 1 because preg_match() will stop searching after the first match. preg_match_all() differs from this in that it searches for the subject until it reaches the end. If an error occurs preg_match() returns FALSE.

Instance 1:

$label = 'content/112';
$a = preg_match('#content/(\d+)#i', $label, $mc);
var_dump($a);
var_dump($mc);

Output:

int(1)
array(2) {
 [0]=>
 string(11) "content/112"
 [1]=>
 string(3) "112"
}

Instance 2:

$label = 'content/112';
$a = preg_match('#(\w+)/(\d+)#i', $label, $mc);
var_dump($a);
var_dump($mc);

Output:

int(1)
array(3) {
 [0]=>
 string(11) "content/112"
 [1]=>
 string(7) "content"
 [2]=>
 string(3) "112"
}

Instance 3:

$label = 'content/112';
$a = preg_match('#content1111111/(\d+)#i', $label, $mc);
var_dump($a);
var_dump($mc);

Output:

int(0)
array(0) {
}


The above is the detailed content of How does PHP regular expression preg_match implement the matching function?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn