There are two sets of regular expression function libraries in PHP. One set is provided by the PCRE (Perl Compatible Regular Expression) library, based on traditional NFA. The PCRE library implements regular expression pattern matching using the same syntax rules as Perl, using functions named with the prefix "preg_". The other set is provided by the POSIX (Portable Operation System interface) extension library, based on POSIX NFA. POSIX extended regular expressions are defined by POSIX 1003.2 and generally use functions named with the "ereg_" prefix.
The functions of the two sets of function libraries are similar, but the execution efficiency is slightly different. Generally speaking, to achieve the same function, the efficiency of using the PCRE library is slightly superior. Its use is described in detail below.
Function prototype: int preg_match (string pattern, stringpattern, stringcontent [, array $matches])
The preg_match () function searches in the content string and in the content string Content that matches the regular expression given by pattern. If matches is provided, the matching results are placed into it. matches, put the matching results into it. matches[0] will contain the text that matches the entire pattern, $matches[1] will contain the first captured match of the pattern element enclosed in parentheses, and so on. This function only performs one match and ultimately returns the number of matching results of 0 or 1.
ereg() is the regular expression matching function in the POSIX extension library. eregi() is a case-ignoring version of the ereg() function. Both have similar functions to preg_match, but the function returns a Boolean value indicating whether the match was successful or not. It should be noted that the first parameter of the POSIX extension library function accepts a regular expression string, that is, no delimiter is required.
Function prototype: array preg_grep (string pattern,arraypattern,arrayinput)
The preg_grep() function returns an array, which includes the input array and the given input array. Units that match the given pattern. Preg_grep() also only performs a match for each element in the input array $input. The example given in Listing 6.3 simply illustrates the use of the preg_grep() function.
Similar to the preg_match() function. If the third parameter is used, all possible matches will be put in. This function returns the number of times the entire pattern is matched (possibly 0), and returns False if an error occurs.
2. Multi-line matching
It is difficult to perform complex matching operations only using regular table functions under POSIX. For example, perform matching searches on entire files (especially multi-line text). One way to do this using ereg() is to do it in separate lines.
Function prototype: string ereg_replace (string pattern, stringpattern, stringreplacement, string $string)
eregi_replace (()
ereg_replace() searches for the pattern string pattern in string and replaces the matched result with replacement. When replacement. When pattern contains pattern units (or sub-patterns), positions in the form of "\1" or "1" in "replacement" will be replaced by the content matched by these sub-patterns. "\0" or "$0" refers to the content of the entire matching string. It should be noted that backslashes are used as escape characters in double quotes, so "\\0" and "\\1" must be used. The form.
eregi_replace() and ereg_replace() have the same function, except that the former ignores case.
## 2. preg_replace() Function prototype: mixed preg_replace (mixed) pattern, mixedpattern, mixedreplacement, mixed subject[,intsubject[,intlimit]) preg_replace is more powerful than ereg_replace. Its first three parameters can all use arrays; the fourth parameter $limit can set the replacement. Number of times, the default is to replace all.
Function prototype: array split (string pattern, stringpattern, stringstring [, int $limit])
This function returns a string array, each unit is String is a substring divided by the regular expression string and the regular expression pattern as a boundary. If limit is set, the returned array contains at most limit, and the returned array contains at most limit units. The last unit contains all the remaining parts of $string. spliti is the size-ignoring version of split.
This function has the same function as the split function. '
Related recommendations:
Detailed explanation of commonly used regular expression functions in PHP
Linux system user management and grep regular expression detailed explanation
PHP regular expression sharing
The above is the detailed content of Regular expression function in PHP. For more information, please follow other related articles on the PHP Chinese website!