Home  >  Article  >  Backend Development  >  What are metacharacters in PHP? How do we use regular expression metacharacters? (with code)

What are metacharacters in PHP? How do we use regular expression metacharacters? (with code)

慕斯
慕斯Original
2021-06-09 15:24:532422browse

The previous article introduced you to "What are atoms in regular expressions in PHP? What content does it consist of? (Attached code) ", this article continues to introduce to you what are metacharacters in PHP? How do we use regular expression metacharacters? (Attached code)

What are metacharacters in PHP? How do we use regular expression metacharacters? (with code)

Metacharacter (atom modifier)

Atom number modifier

  • means that the previous atom appears - times or multiple times

  • ? means that the previous atom appears e times or 1 time

  • * Indicates that the previous atom appears B times once or multiple times

  • {m,n} indicates that the previous atom appears at least H times and at most N times

  • {} means that the previous atom appears a specified number of times

  • {m,} means that the previous atom appears at least times or more

  • word boundary Modifiers (understand)

What is a word boundary

  • The characters that can divide a word are all included in word boundaries Spaces, tabs, special characters, the beginning and end of a string, the end of each line.

  • The parts that cannot be regarded as word boundaries are numbers, letters and_

  • ##\bIndicates word boundaries

  • \B represents non-word boundary

String boundary modifier (that is, the beginning and end)

  • represents the content starting with the specified character

  • $ represents the content ending with the specified character

  • ^String $ represents an exact match It is an error if a certain string has one more or less one.

  • If you want to use ^ and $ to match the beginning and end of each line, you need to use the pattern modifier m to treat it as multiple lines. .

Select modifier

Mode unit()

  • 1 .Change priority

  • #2. Treat multiple atoms as one atom for the purpose of using the atom number modifier.

  • 3. Store the content matching the brackets into memory.

  • 4. If you use () only to simulate an atom and use the atomic number modifier, you can use ?: at the beginning of the bracket to release the effect of storing it in memory. Improve efficiency.

If I want to match a piece of content (Google), we have a requirement at this time that the second o of google we just output may or may not have it. If we define A $pattern = '/google/'; After we have defined it, we perform matching and find that the matching result is successful (the running result is as shown below), but when we delete the second o, our matching result is failed,

<?php
//进行匹配
$str = $_POST[&#39;str&#39;];
//$pattern = &#39;/a/&#39; ;
//调用正则匹配函数
$pattern = &#39;/google/&#39;;
$result = preg_match($pattern , $str , $match);
echo &#39; 匹配结果为: &#39;.$result;
echo &#39;<hr/>&#39; ;
if ( $result){ 
echo &#39;<font color="pink" size="5 ">匹配成功</font>&#39;;
}else{
echo &#39;<font color="red">匹配失败</font>&#39;;
}
var_dump($match);
?>

The code result is as follows:

What are metacharacters in PHP? How do we use regular expression metacharacters? (with code)

What are metacharacters in PHP? How do we use regular expression metacharacters? (with code)

At this time, if we want to set the second o It can be yes or no. We can insert a question mark after the second o (? means that the previous atom can appear zero times or once). At this time, we match again and we will find that the result matches successfully:

<?php
//进行匹配
$str = $_POST[&#39;str&#39;];
//$pattern = &#39;/a/&#39; ;
//调用正则匹配函数
$pattern = &#39;/goo?gle/&#39;;
$result = preg_match($pattern , $str , $match);
echo &#39; 匹配结果为: &#39;.$result;
echo &#39;<hr/>&#39; ;
if ( $result){ 
echo &#39;<font color="pink" size="5 ">匹配成功</font>&#39;;
}else{
echo &#39;<font color="red">匹配失败</font>&#39;;
}
var_dump($match);
?>

The code result is as follows:

What are metacharacters in PHP? How do we use regular expression metacharacters? (with code)

What are metacharacters in PHP? How do we use regular expression metacharacters? (with code)

If we want (o) to appear once or even multiple times, we can no longer use (?) Change the question mark to a plus sign

$pattern = '/goo gle/';

Then our running results are displayed as follows:

What are metacharacters in PHP? How do we use regular expression metacharacters? (with code)

What are metacharacters in PHP? How do we use regular expression metacharacters? (with code)

Recommended learning: "

PHP Video Tutorial"

The above is the detailed content of What are metacharacters in PHP? How do we use regular expression metacharacters? (with code). 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