Home  >  Article  >  Backend Development  >  Detailed syntax of PHP regular expressions

Detailed syntax of PHP regular expressions

小云云
小云云Original
2017-11-10 16:39:432064browse

PHP regular expression refers to a single string used to describe or match a series of strings that conform to a certain syntax rule.
Regular expression is a logical formula for string operations. It uses some predefined specific characters and combinations of these specific characters to form a "rule string". This "rule string" is used to Express a filtering logic for strings.

Given a regular expression and another string, we can achieve the following goals:

1. Whether the given string conforms to the filtering logic of the regular expression (called " Match");

2. We can get the specific part we want from the string through regular expressions.

A regular expression is a text pattern composed of ordinary characters (such as the characters a to z) and special characters (called metacharacters). The pattern describes one or more strings to be matched when searching for text bodies. A regular expression acts as a template that matches a character pattern with a searched string.

Quote

/

Mark the next character as a special character, a literal character, a backreference, or a Octal escape character. For example, 'n' matches the character "n". '/n' matches a newline character. The sequence '//' matches "/" and "/(" matches "(".

^ 

Matches the beginning of the input string.

$

Matches the end of the input string

*

Matches the preceding subexpression zero or more times. For example, zo*. Can match "z" and "zoo". * Equivalent to {0,}.

+ 

matches the previous subexpression one or more times. For example, 'zo+' can match. "zo" and "zoo", but not "z". + Equivalent to {1,}  

?

matches the preceding subexpression zero or one time. . For example, "do(es)?" can match "do" in "do" or "does". ? Equivalent to {0,1} 

##.

#n is a non-negative integer. Matches at least n times. For example, 'o{2,}' cannot match 'o' in "Bob", but it can match all 'o{ in "foooood". 1,}' is equivalent to 'o+'. 'o{0,}' is equivalent to 'o*'.

{n,m} 

m and n. are nonnegative integers, where n

?

When this character is followed by any other limiter (*, +, ?, {n}, {n,}, {n,m}), the matching mode is non-greedy. The non-greedy mode matches the searched string as little as possible, while the default greedy mode matches as little as possible More matches the searched string. For example, for the string "oooo", 'o+?' will match a single "o", while 'o+' will match all 'o's except "/. Any single character except n". To match any character including '/n', use a pattern like '[./n]'.

 (pattern)

Matches the pattern and obtains the match. The obtained match can be obtained from the generated Matches collection, using the SubMatches collection in Visual Basic Scripting Edition to match the parentheses. character, please use '/(' or '/)'.

(?:pattern)

Match pattern but do not get the matching result, which means this is a non-getting match. Store for later use. This is useful when using the "or" character (|) to combine parts of a pattern. For example, 'industr(?:y|ies) is a shorter expression than 'industry|industries'.

(?=pattern) 

Forward lookup, match the search string at the beginning of any string that matches pattern. This is a non-fetch match, that is, the match does not need to be fetched for later use. For example, 'Windows (?=95|98|NT|2000)' matches "Windows" in "Windows 2000" but not "Windows" in "Windows 3.1". Prefetching does not consume characters, that is, after a match occurs, the search for the next match begins immediately after the last match, rather than starting after the character containing the prefetch.

(?!pattern) 

Negative lookahead matches the search string at the beginning of any string that does not match the pattern. Negative lookahead matches the search string at any point where a string not matching pattern. This is a non-fetch match, that is, the match does not need to be fetched for later use. For example, 'Windows (?!95|98|NT|2000)' can match "Windows" in "Windows 3.1", but not "Windows" in "Windows 2000". The prequery does not consume characters, that is, after a match occurs, the search for the next match starts immediately after the last match, rather than starting after the characters containing the prequery

Summary:

The above is a detailed explanation of some syntax of PHP regular expressions. At the same time, we know that the characteristics of regular expressions are:

1. It is very flexible, logical and functional;

2. It can quickly and easily achieve the string expression Complex controls.

3. For those who are new to it, it is relatively obscure.

Related recommendations:

Application of regular expressions

##What are the modifiers in PHP regular expressions

php regular expression tutorial: regular expression from entry to proficiency

The above is the detailed content of Detailed syntax of PHP regular expressions. 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