php regular expression
What is a regular expression
A regular expression is a logical formula that operates on strings. It uses some specific characters to combine into a regular string, which is called a regular matching pattern.
The string '/apple/' is a regular expression, which is used to match whether the apple string exists in the source string.
The PCRE library function is used in PHP for regular matching. For example, preg_match in the above example is used to perform a regular matching, and is often used to determine whether a type of character pattern exists.
Basic syntax of regular expressions
In the PCRE library function, the regular matching pattern is composed of delimiters and metacharacters. The delimiter can be any character that is not numbers, non-backslashes, or non-spaces. Commonly used delimiters are forward slash (/), hash symbol (#) and negation symbol (~), for example:
If the pattern contains a delimiter, the delimiter needs to be separated by a backslash () escape.
If the pattern contains a lot of delimiting characters, it is recommended to use other characters as delimiters, or you can use preg_quote to escape.
You can use pattern modifiers after the delimiter. Pattern modifiers include: i, m, s, x, etc. For example, using the i modifier can ignore case matching:
Metacharacters and conversion Meaning
Characters with special meanings in regular expressions are called metacharacters. Commonly used metacharacters are:
Generally used to escape characters
^ to assert the starting position of the target (or in multiple lines mode)
$ Asserts the end position of the target (or end of line in multiline mode)
. Matches any character except newline (default)
[Start character class definition
] End character class definition
| Start an optional branch
(start tag of subgroup
) end tag of subgroup
? As a quantifier, indicating 0 or 1 matches. Placed after the quantifier to change the greedy nature of the quantifier. (Look up quantifiers)
* quantifier, 0 or more matches
+ quantifier, 1 or more matches
{custom quantifier start tag
} custom quantifier end tag
Metacharacters have two usage scenarios , one can be used anywhere, the other can only be used within square brackets. The ones used within square brackets are:
The escape character
^ is only used as the first character (square brackets (inside brackets), indicates character class negation
- marks the character range
, where ^ is outside the anti-bracket, indicating the starting position of the assertion target, but inside the square brackets, it represents the character class negation, and the minus inside the square brackets Number - can mark character ranges, for example 0-9 means all numbers between 0 and 9.
Greedy mode and lazy mode
Each metacharacter in the regular expression matches one character. When + is used, it will become greedy. It will match as many characters as possible, but When using the question mark ? character, it will match as few characters as possible, which is lazy mode.
Greedy mode: Prioritize matching when matchable and non-matchable
Lazy mode: Prioritize non-matching when matchable and non-matchable
When we know exactly what is matched When the length of characters, you can use {} to specify the number of matching characters
Use regular expressions for matching
The purpose of using regular expressions is to achieve more flexibility than string processing functions Processing method, so it is the same as the string processing function, which is mainly used to determine whether a substring exists, replace strings, split strings, obtain pattern substrings, etc.
PHP uses the PCRE library function to perform regular processing, by setting the pattern and then calling the relevant processing function to obtain the matching result.
preg_match is used to perform a match. It can be simply used to determine whether the pattern matches successfully, or to obtain a matching result. Its return value is the number of successful matches, 0 or 1, and it will stop after matching 1 time. search.
The above code simply performs a match and simply determines whether def can match successfully. However, the power of regular expressions is pattern matching, so more often, patterns are used:
You can match a pattern with regular expressions to get more useful data.
查找所有匹配结果
preg_match只能匹配一次结果,但很多时候我们需要匹配所有的结果,preg_match_all可以循环获取一个列表的匹配结果数组。
可以使用preg_match_all匹配一个表格中的数据:
Eric | 25 |
John | 26 |
$matches结果排序为$matches[0]保存完整模式的所有匹配, $matches[1] 保存第一个子组的所有匹配,以此类推。
正则表达式的搜索和替换
正则表达式的搜索与替换在某些方面具有重要用途,比如调整目标字符串的格式,改变目标字符串中匹配字符串的顺序等。
例如我们可以简单的调整字符串的日期格式:
其中${1}与$1的写法是等效的,表示第一个匹配的字串,$2代表第二个匹配的。
通过复杂的模式,我们可以更加精确的替换目标字符串的内容。
用正则替换来去掉多余的空格与字符:
正则匹配常用案例
正则匹配常用在表单验证上,一些字段会有一定的格式要求,比如用户名一般都要求必须是字母、数字或下划线组成,邮箱、电话等也都有自己的规则,因此使用正则表达式可以很好的对这些字段进行验证。
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了php正则表达式,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



In today's era of rapid technological development, programming languages are springing up like mushrooms after a rain. One of the languages that has attracted much attention is the Go language, which is loved by many developers for its simplicity, efficiency, concurrency safety and other features. The Go language is known for its strong ecosystem with many excellent open source projects. This article will introduce five selected Go language open source projects and lead readers to explore the world of Go language open source projects. KubernetesKubernetes is an open source container orchestration engine for automated

"Go Language Development Essentials: 5 Popular Framework Recommendations" As a fast and efficient programming language, Go language is favored by more and more developers. In order to improve development efficiency and optimize code structure, many developers choose to use frameworks to quickly build applications. In the world of Go language, there are many excellent frameworks to choose from. This article will introduce 5 popular Go language frameworks and provide specific code examples to help readers better understand and use these frameworks. 1.GinGin is a lightweight web framework with fast

Laravel is a popular PHP framework that is highly scalable and efficient. It provides many powerful tools and libraries that allow developers to quickly build high-quality web applications. Among them, LaravelEcho and Pusher are two very important tools through which WebSockets communication can be easily implemented. This article will detail how to use these two tools in Laravel applications. What are WebSockets? WebSockets

With the development of the Internet and the advancement of information technology, the era of big data has arrived, and fields such as data analysis and machine learning have also been widely used. In these fields, task scheduling is an inevitable problem. How to achieve efficient task scheduling is crucial to improving efficiency. In this article, we will introduce how to use Golang's web framework Echo framework to implement distributed task scheduling. 1. Introduction to the Echo framework Echo is a high-performance, scalable, lightweight GoWeb framework. It is based on HTTP

Detailed explanation of the role and usage of the echo keyword in PHP PHP is a widely used server-side scripting language, which is widely used in web development. The echo keyword is a method used to output content in PHP. This article will introduce in detail the function and use of the echo keyword. Function: The main function of the echo keyword is to output content to the browser. In web development, we need to dynamically present data to the front-end page. At this time, we can use the echo keyword to output the data to the page. e

As a fast and efficient programming language, Go language has always been favored by programmers. In the Go language ecosystem, frameworks play a vital role in helping developers build applications faster. This article will introduce five Go language frameworks to let you understand their characteristics and usage. 1. Gin framework The Gin framework is a lightweight Web framework with fast and high performance characteristics. Use the Gin framework to quickly build RESTful APIs and web applications. Here is a simple example code:

The most popular Go frameworks at present are: Gin: lightweight, high-performance web framework, simple and easy to use. Echo: A fast, highly customizable web framework that provides high-performance routing and middleware. GorillaMux: A fast and flexible multiplexer that provides advanced routing configuration options. Fiber: A performance-optimized, high-performance web framework that handles high concurrent requests. Martini: A modular web framework with object-oriented design that provides a rich feature set.

As an efficient and modern programming language, Go language is widely favored by developers. In the Go language, there are many excellent frameworks that can help developers quickly build efficient and stable applications. This article will introduce some popular frameworks in the Go language and provide some specific code examples. Gin framework Gin is a very popular Goweb framework that provides the ability to quickly develop APIs. The Gin framework has the characteristics of high performance, ease of use, and lightweight, and is widely used in back-end development of Internet companies.
