What is regular expression and quantifiers in regex in php?

What is a Regular Expression?

A regular expression is a sequence of characters that forms a search pattern. When you search for data in a text, you can use this search pattern to describe what you are searching for.

A regular expression can be a single character, or a more complicated pattern.

Regular expressions can be used to perform all types of text search and text replace operations.

Syntax

In PHP, regular expressions are strings composed of delimiters, a pattern and optional modifiers.

In the example above, / is the delimiter, w3schools is the pattern that is being searched for, and i is a modifier that makes the search case-insensitive.

The delimiter can be any character that is not a letter, number, backslash or space. The most common delimiter is the forward slash [/], but when your pattern contains forward slashes it is convenient to choose other delimiters such as # or ~.

Regular Expression Functions

PHP provides a variety of functions that allow you to use regular expressions. The preg_match[], preg_match_all[] and preg_replace[] functions are some of the most commonly used ones:

FunctionDescription
preg_match[] Returns 1 if the pattern was found in the string and 0 if not
preg_match_all[] Returns the number of times the pattern was found in the string, which may also be 0
preg_replace[] Returns a new string where matched patterns have been replaced with another string

Using preg_match[]

The preg_match[] function will tell you whether a string contains matches of a pattern.

Example

Use a regular expression to do a case-insensitive search for "w3schools" in a string:

Try it Yourself »

Using preg_match_all[]

The preg_match_all[] function will tell you how many matches were found for a pattern in a string.

Example

Use a regular expression to do a case-insensitive count of the number of occurrences of "ain" in a string:

Try it Yourself »

Using preg_replace[]

The preg_replace[] function will replace all of the matches of the pattern in a string with another string.

Example

Use a case-insensitive regular expression to replace Microsoft with W3Schools in a string:

Try it Yourself »

Regular Expression Modifiers

Modifiers can change how a search is performed.

ModifierDescription
i Performs a case-insensitive search
m Performs a multiline search [patterns that search for the beginning or end of a string will match the beginning or end of each line]
u Enables correct matching of UTF-8 encoded patterns

Regular Expression Patterns

Brackets are used to find a range of characters:

ExpressionDescription
[abc] Find one character from the options between the brackets
[^abc] Find any character NOT between the brackets
[0-9] Find one character from the range 0 to 9

Metacharacters

Metacharacters are characters with a special meaning:

MetacharacterDescription
| Find a match for any one of the patterns separated by | as in: cat|dog|fish
. Find just one instance of any character
^ Finds a match as the beginning of a string as in: ^Hello
$ Finds a match at the end of the string as in: World$
\d Find a digit
\s Find a whitespace character
\b Find a match at the beginning of a word like this: \bWORD, or at the end of a word like this: WORD\b
\uxxxx Find the Unicode character specified by the hexadecimal number xxxx

Quantifiers

Quantifiers define quantities:

QuantifierDescription
n+ Matches any string that contains at least one n
n* Matches any string that contains zero or more occurrences of n
n? Matches any string that contains zero or one occurrences of n
n{x} Matches any string that contains a sequence of X n's
n{x,y} Matches any string that contains a sequence of X to Y n's
n{x,} Matches any string that contains a sequence of at least X n's

Note: If your expression needs to search for one of the special characters you can use a backslash [ \ ] to escape them. For example, to search for one or more question marks you can use the following expression: $pattern = '/\?+/';

Grouping

You can use parentheses [ ] to apply quantifiers to entire patterns. They also can be used to select parts of the pattern to be used as a match.

Example

Use grouping to search for the word "banana" by looking for ba followed by two instances of na:

Try it Yourself »

Complete RegExp Reference

For a complete reference, go to our Complete PHP Regular Expression Reference.

The reference contains descriptions and examples of all Regular Expression functions.



What is regular expression and quantifiers in regex?

The + quantifier matches the preceding element one or more times. It's equivalent to {1,} . + is a greedy quantifier whose lazy equivalent is +? . For example, the regular expression \ban+\w*?\ ... Match One or More Times: +.

What is a regular expression in PHP?

A regular expression is a sequence of characters that forms a search pattern. When you search for data in a text, you can use this search pattern to describe what you are searching for. A regular expression can be a single character, or a more complicated pattern.

What is difference between regex and regular expression?

Regular expressions allow you to select specific strings from a set of character strings. The use of regular expressions is generally associated with text processing. Regular expressions can represent a wide variety of possible strings. ... Pattern matching versus regular expressions..

What is the regular expression?

A regular expression [shortened as regex or regexp; sometimes referred to as rational expression] is a sequence of characters that specifies a search pattern in text. Usually such patterns are used by string-searching algorithms for "find" or "find and replace" operations on strings, or for input validation.

Chủ Đề