Assertions

Expression Explanation

A(?=B)

This matches the expression A only if it is followed by B. (Positive look ahead assertion)

A(?!B)

This matches the expression A only if it is not followed by B. (Negative look ahead assertion)

(?<=B)A

This matches the expression A only if B is immediate to its left.  (Positive look behind assertion)

(?<!B)A 

This matches the expression A only if B is not immediately to its left. (Negative look behind assertion)

(?()|)

If else conditional

Examples:

Python3




import re
  
print(re.search(r"z(?=a)", "pizza"))
print(re.search(r"z(?!a)", "pizza"))


Output:

<re.Match object; span=(3, 4), match='z'>
<re.Match object; span=(2, 3), match='z'>

Explanation:

In the first example, z(?=a) will search for the character z which is followed by the character a. Since in pizza, we have a character z which is immediately followed by the character a (pizza), so there will be a match. Regex will print the match(‘z’) which is followed by a with its position(3,4)

In the second example, z(?!a) will search for the character z which is not followed by the character a. Since in pizza, we have a character z which is not followed by a but followed by z (pizza), so there will be a match. Regex will print the match(‘z’) not followed by a with its position (2,3)

Regex Cheat Sheet – Python

Regex or Regular Expressions are an important part of Python Programming or any other Programming Language. It is used for searching and even replacing the specified text pattern. In the regular expression, a set of characters together form the search pattern. It is also known as the reg-ex pattern. The tough thing about Regex is not learning or understanding it but remembering syntax and how to form patterns according to our requirements.

So, here we have provided a Regex Cheat Sheet containing all the different character classes, special characters, modifiers, sets, etc. which are used in the regular expression.

Table of Content

  • Basic Characters
  • Quantifiers
  • Character Classes
  • Sets
  • Groups
  • Assertions
  • Flags

Similar Reads

Basic Characters:

Expression  Explanations ^ Matches the expression to its right, at the start of a string before it experiences a line break $ Matches the expression to its left, at the end of a string before it experiences a line break . Matches any character except newline a Matches exactly one character a xy Matches the string xy a|b Matches expression a or b. If a is matched first, b is left untried....

Quantifiers:

...

Character Classes:

Expressions Explanations + Matches the expression to its left 1 or more times. * Matches the expression to its left 0 or more times. ? Matches the expression to its left 0 or 1 times {p} Matches the expression to its left p times, and not less. {p, q} Matches the expression to its left p to q times, and not less. {p, } Matches the expression to its left p or more times. { , q} Matches the expression to its left up to q times...

Sets:

...

Groups:

Expressions Explanations \w  Matches alphanumeric characters, that is a-z, A-Z, 0-9, and underscore(_) \W Matches non-alphanumeric characters, that is except a-z, A-Z, 0-9 and _ \d Matches digits, from 0-9. \D  Matches any non-digits. \s Matches whitespace characters, which also include the \t, \n, \r, and space characters. \S Matches non-whitespace characters. \A Matches the expression to its right at the absolute start of a string whether in single or multi-line mode. \Z  Matches the expression to its left at the absolute end of a string whether in single or multi-line mode. \n Matches a newline character \t Matches tab character \b Matches the word boundary (or empty string) at the start and end of a word. \B Matches where \b does not, that is, non-word boundary...

Assertions:

...

Flags:

Expressions Explanations [abc]  Matches either a, b, or c. It does not match abc. [a-z] Matches any alphabet from a to z. [A-Z] Matches any alphabets in capital from A to Z [a\-p] Matches a, -, or p. It matches – because \ escapes it. [-z] Matches – or z [a-z0-9] Matches characters from a to z or from 0 to 9. [(+*)]  Special characters become literal inside a set, so this matches (, +, *, or ) [^ab5]  Adding ^ excludes any character in the set. Here, it matches characters that are not a, b, or 5. \[a\] Matches [a] because both parentheses [ ] are escaped...

Conclusion

...

Contact Us