Characters that need to be escaped in PHP regular expressions are as follows:
$^*()+={}[]|/:<>.?'"
Note: Perl-style expressions require that they start and end with /, such as: /food/ matches the character food
Perl modifiers are as follows:
i Complete case-insensitive search
g Find all occurrences (complete global search)
m Treats a string as multiple lines (m means multiple). By default, the ^ and $ characters match the very beginning and the very end of a string. Using the m modifier will cause ^ and $ to match the beginning of each line in the string
s Treats a string as a line, ignoring all newlines; it is the opposite of the m modifier
x Ignore whitespace and comments in php regular expressions
U Stop after the first match. By default, the last matching character result will be found. Use this modifier to stop after the first match. Then form loop matching.
Metacharacter description:
Another useful thing you can do with Perl regular expressions is to use various metacharacters to search for matches. A metacharacter is an alphabetic character preceded by a backslash, which represents a special meaning. The following are some useful metacharacters.
A only matches the beginning of the string
b matches word boundaries
B matches any character
outside word boundariesd matches numeric characters, which is the same as [0-9]
D PHP regular matching non-numeric characters
s matches whitespace characters
S PHP regular matching non-whitespace characters
[] surrounds a character class, which includes: [0-9] [a-z] [a-zA-Z] and the like.
() surrounds a character group or defines a backreference
$ matches the end of the line
^ Matches the beginning of the line
* Matches the preceding subexpression zero or more times. To match * characters, use *
+ Matches the previous subexpression one or more times. To match the + character, use +
? Match the preceding subexpression zero or once, or specify a non-greedy qualifier ?
. Matches any character
except newlineIntroduces the next metacharacter
w matches any string containing only underscores and alphanumeric characters, which is the same as [a-zA-Z0-9_]
W PHP regular matching strings without underscores and alphanumeric characters
Perl style functions are:
array preg_grep(string pattern, array input [, flags])
Search for all elements in the array and return an array consisting of all elements matching a certain pattern
PHP 4.3 added an optional parameter flag, which accepts a value PREG_GREP_INVERT. Passing this flag will get data elements that do not match the pattern.
int preg_match(string pattern, string string [, array matches [, int flags [, int offset]]])
Search for the pattern in the string, returning TRUE if it exists, otherwise returning FALSE.
The optional input parameter matches can contain parts of sub-patterns contained in the search pattern. The matched string is returned by default. When surrounded by () sub-characters, it will be output after the array.
int preg_match_all(string pattern, string string, array pattern_array [, int order])
It is the same as the function preg_match, but preg_match only searches once, while preg_match_all will perform a loop search and return all matching results.
mixed preg_replace(mixed pattern, mixed replacement, mixed str [, int limit])
Replaces all occurrences of pattern with replacement and returns the modified result.
Optional limit specifies how many matches should occur. Not setting limit or setting it to -1 will replace all occurrences.
The above are commonly used functions, and there are also detailed explanations such as preg_quote, preg_replace_callbak, preg_split, etc. . .