Change language

PHP Regular Expressions

|
Regular expression - it is a compact way of describing a string template that matches a specific amount of text. As you know PHP - is an open source language commonly used to build websites, it provides regex functions as an essential tool. Like PHP, many other programming languages ​​have their own regular expression implementation. The same is true with other applications that have their own regular expression support with different syntaxes. Many of the modern languages ​​and tools available use regular expressions for very large files and strings. Let’s take a look at some of the benefits and uses of regular expressions in our applications.The benefits and uses of regular expressions:
In many cases, developers run into problems whenever data is collected in free text fields, as most programming deals with data entry. Regular expressions are used almost everywhere in modern application programming.
  • Regular expressions help in validating text strings that are of interest to the programmer.
  • It offers a powerful tool for parsing, pattern matching and changing text data.
  • It helps in finding a specific string pattern and flexibly retrieving matching results.
  • It helps in parsing text files looking for a specific sequence of characters for further analysis or data manipulation.
  • The built-in regular expression functions provide simple and straightforward solutions for identifying patterns.
  • This effectively saves a lot of development time looking for a particular string pattern.
  • It helps in validating important user information such as email address, phone numbers and IP address.
  • It helps in highlighting special key words in a file based on search or input results.
  • It helps in identifying certain template tags and replacing that data with actual data as required.
  • Regular expressions are very useful for building an HTML templating system. recognizing tags.
  • Regular expressions are mainly used for browser detection, spam filtering, password strength checking, and form validation.
We can’t cover everything in this topic, but let’s take a look at some of the basic concepts of regex. The following table shows some of the regular expressions and the corresponding string that matches the regular expression pattern. Regular Expression Matches engineer The string tdengineer>^engineer The string which starts with “engineer ” engineer $ The string which have “ engineer ” at the end. ^engineer$The string where “engineer” is alone on a string. [abc ] a, b, or c [az] Any lowercase letter [^AZ ] Any letter which is NOT a uppercase letter (gif | png) Either “gif” or changepng> [az] + One or more lowercase letters ^ [a-zA-Z0-9] {1,} $ Any word with at least one number or one letter ([ax]) ([by]) ab, ay, xb, xy [^ A-Za-z0-9] Any symbol other than a letter or other than number ([AZ] {3} | [0-9] {5}) Matches three letters or five numbers Note. Complex search patterns can be created using some basic regular expression rules. Even many arithmetic operators like +, ^, - are used by regular expressions to create small, complex patterns.Operators in regular expressions.Let’s take a look at some operators in PHP regular expressions. Operator Description ^ It denotes the start of string. $ It denotes the end of string. . It denotes almost any single character. () It denotes a group of expressions. [] It finds a range of characters for example [xyz] means x, y or z. [^] It finds the items which are not in range for example [^ abc] means NOT a, b or c. - (dash) It finds for character range within the given item range for example [az] means a through z. | (pipe) It is the logical OR for example x | y means x OR y. ? It denotes zero or one of preceding character or item range. * It denotes zero or more of preceding character or item range. + It denotes one or more of preceding character or item range. {n} It denotes exactly n times of preceding character or item range for example n {2}. {n,} It denotes atleast n times of preceding character or item range for example n {2,}. {n, m} It denotes atleast n but not more than m times for example n {2, 4} means 2 to 4 of n. < / tr> It denotes the escape character. Regular expression special character classes: Let’s take a look at some of the special characters used in regular expressions. Special Character Meaning It denotes a new line. It denotes a carr iage return. It denotes a tab. v It denotes a vertical tab. f It denotes a form feed. xxx It denotes octal character xxx. xhh It denotes hex character hh. < / table> Shorthand Sets:Let’s take a look at some of the available shorthand sets. Shorthand Meaning s Matches space characters like space, newline or tab. d Matches any digit from 0 to 9. w Matches word characters including all lower and upper case letters, digits and underscore. Predefined Functions or Regex Library:Let’s take a look at a quick table of predefined functions for regular expressions in PHP. PHP provides many useful functions for programmers to work with regular expressions.The following built-in functions are case sensitive. Function Definition preg_match() This function searches for a specific pattern against some string. It returns true if pattern exists and false otherwise. preg_match_all() This function searches for all the occurrences of string pattern against the string. This function is very useful for search and replace. ereg_replace() This function searches for specific string pattern and replace the original string with the replacement string, if found. eregi_replace() The function behaves like ereg_replace() provided the search for pattern is not case sensitive. preg_replace() This function behaves like ereg_replace() function provided the regular expressions can be used in the pattern and replacement strings. preg_split() The function behaves like the PHP split() function. It splits the string by regular expressions as its paramaters. preg_grep() This function searches all elements which matches the regular expression pattern and returns the output array. preg_quote() This function takes string and quotes in front of every character which matches the regular expression. ereg() This function searches for a string which is specified by a pattern and returns true if found, otherwise returns false. eregi() This function behaves like ereg() function provided the search is not case sensitive. Notes :
  • Regular expressions are case sensitive by default.
  • There is a difference between strings inside single quotes and strings inside double quotes in PHP. The former are treated literally, whereas for strings within double quotes means that the contents of the variable are printed instead of just typing their names.
Example 1:   
// Declare a regular expression $regex = ’/ ^ [a-zA-Z] * $/’ ;   
// Declare the line $nameString = ’Sharukh khan’ ;   
// Use preg_match() function for
// search for a string pattern if (preg_match ( $regex , $nameString )) {   echo ( "Name string matching with"   . " regular expression " ); } else {   echo ( "Only letters and white space"   . "allowed in name string" );  }   
?>
Output:
 Name string matching with regular expression 
Example 2:

  
// Declare a regular expression $regex = "/ ( . *) / U " ;   
// Declare the line $inputString = "Name: John Position: Developer " ;   
// Use the preg_match_all() function to execute
// global regular expression match preg_match_all ( $regex , $inputString , $output );   echo $output [0] [0]. "
"
. $output [0] [1]. " " ;   
?>
Output:

 John Developer 
Example 3:

  
// Declare a regular expression $regex = "([0-9] +)" ;   
// Declare the line $original = "Completed graduation in 2004" ; $replaceWith = "2002" ;   
// Use the ereg_replace() function to search
// string template on another line $original = ereg_replace ( $regex , $replaceWith , $original );    
// Show result echo $original ;   
?>
Output:
 Completed graduation in 2002 
Example 4:   
// Declare the string $ip = " 134.645.478.670 "   
// Declare regular expression

$regex = "/./" ;   
// Use preg_split() function for
// convert this string to
// array $output = preg_split ( $regex , $ip );    echo " $output [0]
"
; echo "$output [1]
"
; echo "$output [2]
"
; echo "$output [3]
"
;   
?>
Output:

 134 645 478 670 
Metacharacters:Regular expressions use two types of characters: regular characters and metacharacters. Regular characters - these are characters that have a "literal" meaning, and the metacharacters - these are the characters that have a "special" meaning in the regular expression. Metacharacter Description Example . It matches any single character other than a new line. /./ matches string which has a single character. < / tr> ^ It matches the beginning of string. / ^ engineer / matches any string that starts with engineer. $ It matches the string pattern at the end of the string. / com $/ matches string ending with com for example google.com etc. * It matches zero or more characters. / com * / matches commute, computer, compromise etc. + It matches preceding character appear atleast once. For example / z + oom / matches zoom. It is used to esacape metacharacters in regex. /google.com/ will treat the dot as a literal value, not metacharacter. az It matches lower case letters. engineer AZ It matches upper case letters. GEEKS 0-9 It matches any number between 0 and 9. / 0-5 / matches 0, 1, 2, 3, 4, 5 […] It matches character class. / [pqr] / matches pqr Other examples: Regular expression Meaning ^ [.-a-z0-9A-Z ] It matches string with dot, dash and any lower case letters, numbers between 0 and 9 and upper case letters. + @ [a-z0-9A-Z] It matches string with @ symbol in the beggining followed by any lower case letters, numbers between 0 and 9 and upper case letters. +. [Az] {2, 6} $/ It escapes the dot and then matches string with any lower case letters with string length between 2 and 6 at the end. Notes :
  • Metacharacters are very effective in solving regular expression pattern matching. It handles a lot of complex patterning.
  • Every character that is not a metacharacter is definitely a regular character.
  • Every regular character corresponds to the same character.
  • POSIX Regular Expressions:Some regular expressions in PHP are similar to arithmetic expressions called POSIX regular expressions. Sometimes complex expressions are created by combining different elements or operators into regular expressions. The most basic regular expression - this is the one that matches one character. Let’s take a look at some POSIX regular expressions. Regex Meaning < / th> [0-9] It matches digit from 0 through 9. [az] It matches any lowercase letter from a through z. [AZ] It matches any uppercase letter from A through Z. [aZ] It matches any lowercase letter a through uppercase letter Z. [: lower: ] It matches any lower case letters. [: upper:] It matches any upper case letters. [: alpha:] It matches all alphabetic characters or letters from az and AZ. [[: alpha:]] It matches any string containing alphabetic characters or letters. [: alnum:] It matches all alphanumeric characters ie all digits (0-9) and letters (az AZ). [[: alnum:]] It matches any string containing alphanumeric characters and digits. [: digit:] It matches all the digits from 0 to 9. [[: digit:]] It matches any string containing digits from 0 to 9. [: xdigit:] It matches all the hexadecimal digits. [: punct: ] It matches all the punctuation symbols. [: blank:] It matches blank characters like space and tab. [:space: ] It matches all whitespace characters like line breaks. [ [: space:]] It matches any string containing a space. [: cntrl:] It matches all control characters. [: graph:] It matches all visible or printed characters other than spaces and control characters. [: print:] It matches all printed characters and spaces other than control characters. [: word:] It matches all word characters like digits, letters and underscore. Quantifiers in regular you rage.Quantifiers - they are special characters that indicate the number, frequency, or number of occurrences, or the occurrence of a parenthesized character or group of characters. They are also called greedy and lazy expressions. Let’s take a look at some concepts and examples of quantifiers. Quantifier Meaning a + It matches the string containing at least one a. a * It matches the string containing zero or more a’s. a? It matches any string containing zero or one a’s. a {x} It matches letter ’a’ exaclty x times. a {2, 3} It matches any string containing the occurrence of two or three a’s. a {2,} It matches any string containing the occurrence of at least two a’s. a {2} It matches any string containing the occurrence of exactly two a’s. a {, y} It matches any string containing the occurrence of not more than y number of a’s. a $ It matches any string with ’a’ at the end of it. ^ a It matches any string with ’a’ at the beginning of it. [^ a-zA-Z] It matches any string pattern not having characters from a to z and A to Z. aa It matches any string pattern containing a, then any character and then another a. ^. {3} $ It matches any string having exactly three characters. < / table> Notes :
    • The $character inside the expression will match the end of the target string.
    • The characters *,?, + In regular expression denote the frequency of occurrence of the symbol. If this happens zero or more times, zero or one times, and one or more times.
    • The ^ character inside the expression will match the beginning of the target line.
    • . the metacharacter matches any single character other than a newline.
    Well-known regexp engines:
    • Regexp
    • RegexBuddy
    Conclusion.Regular expression - it is a pattern that describes some text in a string in a particular pattern, or is defined as a pattern matching algorithm expressed in a single string. Regular expressions are very useful in the programming world for validating and recognizing certain patterns. PHP provides many built-in functions that support regular expressions. Metacharacters help you create complex patterns.

Shop

Best laptop for Sims 4

$

Best laptop for Zoom

$499

Best laptop for Minecraft

$590

Best laptop for engineering student

$

Best laptop for development

$

Best laptop for Cricut Maker

$

Best laptop for hacking

$890

Best laptop for Machine Learning

$950

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method