Home  >  Article  >  Backend Development  >  Commonly used tips for using PHP regular expressions_PHP tutorial

Commonly used tips for using PHP regular expressions_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 17:40:09821browse

The definition of PHP regular expression:
A grammatical rule used to describe character arrangement and matching patterns. It is mainly used for pattern segmentation, matching, search and replacement operations of strings.
PHP regular expression is mainly used in the mode segmentation, matching, finding and replacement operation of the string. Using regular expressions may not be efficient in some simple environments, so how to better use PHP regular expressions needs to be considered comprehensively.

Regular functions in PHP:
There are two sets of regular functions in PHP, both of which have similar functions, namely:
One set is provided by the PCRE (Perl Compatible Regular Expression) library. Functions named with the prefix "preg_";
A set of functions provided by POSIX (Portable Operating System Interface of Unix) extensions. Use functions named with the prefix "ereg_"; (POSIX regular function library is no longer recommended for use since PHP 5.3, and will be removed from PHP 6)

Due to the upcoming history of POSIX regular function Stage, and the forms of PCRE and perl are similar, which is more convenient for us to switch between perl and php, so here we focus on the use of PCRE regularity.

PCRE regular expression
PCRE stands for Perl Compatible Regular Expression, which means Perl compatible regular expression.

In PCRE, the pattern expression (i.e. regular expression) is usually enclosed between two backslashes "/", such as "/apple/".

Several important concepts in regular expressions are: metacharacters, escapes, pattern units (repetitions), antonyms, references and assertions. These concepts can be easily understood and mastered in the article [1].

Commonly used meta-characters:

Meta-character Description

A Matches the atom at the beginning of the string

Matches the string Atoms at the end

Match word boundaries / is/ Match strings whose head is is /is / Match strings whose tail is is / is / Delimited

B Matches any character except word boundaries /Bis/ Matches "is" in the word "This"

d Matches a number; equivalent to [0-9]

D Matches except Any character other than numbers; equivalent to [^0-9]

w Matches an English letter, number or underscore; equivalent to [0-9a-zA-Z_]

W Matches any character except English letters, numbers and underscores; equivalent to [^0-9a-zA-Z_]

s Matches a blank character; equivalent to [f v]

S Matches any character except whitespace characters; equivalent to [^f v]

f Matches a newline character, which is equivalent to x0c or cL

Matches a newline character; Equivalent Matches a carriage return character in x0a or cJ

Equivalent to matching a tab character in x0d or cM

Equivalent to matching a vertical tab character in x09 or cl

v Symbol; equivalent to x0b or ck

oNN Matches an octal number

xNN Matches a hexadecimal number

cC Matches a control character

Pattern Modifiers:

Pattern modifiers are especially used in ignoring case and matching multiple lines. Mastering this modifier can often solve many problems we encounter.

i - Can match both uppercase and lowercase letters

M - Treat the string as multiple lines

S - Treat the string as a single line, and treat newlines as ordinary characters , so that "." matches any character

X - Blanks in the pattern are ignored

U - Matches the nearest string

e - Replaces the replaced string as Expressions use the

format: /apple/i matches "apple" or "Apple", etc., ignoring case. /i

PCRE pattern unit:

//1 Extract the first attribute

/^d{2} ([W])d{2}1d {4}$ matches strings such as "12-31-2006", "09/27/1996", and "86 01 4321". But the above regular expression does not match the format of "12/34-5678". This is because the result "/" of pattern "[W]" has already been stored. When the next position "1" refers to , the matching pattern is also the character "/".

Use the non-storage pattern unit "(?:)" when there is no need to store the matching results

For example /(?:a|b|c)(D|E|F)1g/ will match "aEEg".In some regular expressions, it is necessary to use non-storage mode units. Otherwise, the order of subsequent references needs to be changed. The above example can also be written as /(a|b|c) (C|E|F)2g/.

PCRE regular expression function:

The following is the quoted content:
1. preg_match() and preg_match_all()
2. preg_quote()
3. preg_split ()
4. preg_grep()
5. The specific use of preg_replace()

function can be found through the PHP manual. Here are some regular expressions we have accumulated:

Match action attribute

以下为引用的内容:

  1. $str = ;  
  2.     $match = ;  
  3.     preg_match_all(/s action="(?!http:)(.*?)"s/$str$match);  
  4.     print_r($match); 
The following is the quoted content:
  1. $str = ;
  2. $match = ;
  3. preg_match_all(/s action="(?!http:)(.*?)"s/, $str, $match);
  4. print_r($match);


Use callback function in regular expression

The following is the quoted content:

  1. /** 
  2.    * replace some string by callback function  
  3.    *  
  4.    */
  5. function callback_replace() {
  6.  $url = http://esfang.house. sina.com.cn; >
  7. ; preg_replace ( /(?<=saction=")(?!http:)(.*?)(?="s)/e,
  8. search($url, 1)
  9. , $str );   echo $str;
  10. }
  11. 🎜>function search( http://www.bkjia.com/PHPjc/486237.html
  12. www.bkjia.comtrue
  13. http: //www.bkjia.com/PHPjc/486237.htmlTechArticle
  14. Definition of PHP regular expression: A grammatical rule used to describe character arrangement and matching patterns. It is mainly used for pattern segmentation, matching, search and replacement operations of strings. PHP regular expression...
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