PHP regular expression summary_PHP tutorial
Summary of PHP regular expressions
1. Two commonly used regular functions in PHP
a.preg_match regular function, based on perl language
Syntax: preg_match(mode, string subject, array matches)
Description: mode parameter----regular module, that is, regular expression (grammar)
Subject parameter----regular content
Matches parameter----regular result (obtained in the form of an array)
b.ereg regular function, based on POSIX (Unix, Script)
Syntax: ereg(mode, string subject, array regs)
2. Elements included in regular expressions
a. Atoms (ordinary characters: a-z A-Z 0-9, atom table, escape characters)
b. Metacharacters (characters with special functions, such as: #, *)
c. Pattern modifier (some built-in characters in the system i, m, S, U...)
3. "Atoms" in regular expressions
a.a-z A-Z _ 0-9 //The most common characters
b.(abc)(skd) //Unit symbol (a whole) enclosed in parentheses
c.[abcs][^abd] //Atomic table enclosed in square brackets, ^ in the atomic table represents exclusion or opposite content
d. Escape character
d contains all numbers [0-9]
D Except all numbers [^0-9]
w contains all English characters [a-z A-Z 0-9]
W Except all English characters [^a-z A-Z 0-9]
s carriage return, line feed, etc.
……
Note: Round brackets must be matched as a whole; square brackets can be matched as long as they are a subset (the content exists)
4. Regular expression metacharacters
* Match 0 times, 1 or more times of the previous content
. Matches 0 times, 1 or more times of the content, but does not include carriage return and line feed (referring to yourself, any content)
+ Match the previous content 1 or more times
? Match 0 or 1 times of the previous content
| Select matching is similar to | in PHP (because this operator is a weak type, it results in the most overall match in the front, similar to a word match)
^ Match the first content of the string
$ matches the content at the end of the string
b matches word boundaries, which can be spaces or special characters (with word delimiters, similar to spaces)
B matches except unexpected content with word boundaries (no word delimiters)
{m} The number of repetitions of matching the previous content is M times
{m,} matches the number of repetitions of the previous content greater than or equal to M times
{m,n} matches the number of repetitions of the previous content from M times to N times
() Merge the overall match and put it into the memory. You can use \1 \2... to obtain it in sequence (call the content put into the memory)
5. Order of operations
Still follows the operation rules from left to → right
Priority:
( ) parentheses are the highest because they are processed in memory
* ? + { } Repeat matching content followed by
^ $ b Boundary processing third
| Conditional processing fourth
Finally, the matching is calculated according to the order of operations
6. Mode modifier
Pattern modifier is a function that enhances and supplements regular expressions and is used outside of regular expressions. For example: /regular/U
Commonly used modifiers:
i Regular content is not case-sensitive when matching (default is case-sensitive)
m Use multi-line recognition matching when matching the first or last content
s Cancel the escape carriage return for single-line matching, such as when matching
x ignore whitespace in regular expressions
A forces matching from scratch
D forces $ to match without any content at the end n
U prohibits greedy matching and only tracks the latest matching character and ends. Regular expressions commonly used in collection programs
7. Matching function
preg_match_all all matching functions
Syntax: preg_match_all ( string pattern, string subject, array matches [, int flags] )
Description: Sort the results so that $matches[0] is the number of all pattern matches
Purpose: intercept more detailed content, collect web pages, and analyze text
8. Replacement function
preg_replace regular replacement function
Syntax: preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit] )
Description: Use regular expressions to replace relevant content, similar to the str_replace string replacement we learned before, but the function is stronger than it
Tips: 1. The replacement content can be a regular expression or an array regular expression
2. The replacement content can be solved by using the modifier e to replace the execution content
Purpose: to replace some more complex content, and can also be used for content conversion
9. Split function
preg_split regular cutting
Syntax: preg_split ( string pattern, string subject [, int limit [, int flags]] )
Note: Use regular expressions to cut related content, similar to the explode cutting function learned before, but explode can only cut in one way and has limitations.

ThesecrettokeepingaPHP-poweredwebsiterunningsmoothlyunderheavyloadinvolvesseveralkeystrategies:1)ImplementopcodecachingwithOPcachetoreducescriptexecutiontime,2)UsedatabasequerycachingwithRedistolessendatabaseload,3)LeverageCDNslikeCloudflareforservin

You should care about DependencyInjection(DI) because it makes your code clearer and easier to maintain. 1) DI makes it more modular by decoupling classes, 2) improves the convenience of testing and code flexibility, 3) Use DI containers to manage complex dependencies, but pay attention to performance impact and circular dependencies, 4) The best practice is to rely on abstract interfaces to achieve loose coupling.

Yes,optimizingaPHPapplicationispossibleandessential.1)ImplementcachingusingAPCutoreducedatabaseload.2)Optimizedatabaseswithindexing,efficientqueries,andconnectionpooling.3)Enhancecodewithbuilt-infunctions,avoidingglobalvariables,andusingopcodecaching

ThekeystrategiestosignificantlyboostPHPapplicationperformanceare:1)UseopcodecachinglikeOPcachetoreduceexecutiontime,2)Optimizedatabaseinteractionswithpreparedstatementsandproperindexing,3)ConfigurewebserverslikeNginxwithPHP-FPMforbetterperformance,4)

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl


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

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

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

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

SublimeText3 Chinese version
Chinese version, very easy to use
