 
  Data Structure Data Structure
 Networking Networking
 RDBMS RDBMS
 Operating System Operating System
 Java Java
 MS Excel MS Excel
 iOS iOS
 HTML HTML
 CSS CSS
 Android Android
 Python Python
 C Programming C Programming
 C++ C++
 C# C#
 MongoDB MongoDB
 MySQL MySQL
 Javascript Javascript
 PHP PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Regular Expression Examples in Python
Literal characters
| Sr.No. | Example & Description | 
|---|---|
| 1 | python Matches beginning of line. | 
Character classes
| Sr.No. | Example & Description | 
|---|---|
| 1 | [Pp]ython Match "Python" or "python" | 
| 2 | rub[ye] Match "ruby" or "rube" | 
| 3 | [aeiou] Match any one lowercase vowel | 
| 4 | [0-9] Match any digit; same as [0123456789] | 
| 5 | [a-z] Match any lowercase ASCII letter | 
| 6 | [A-Z] Match any uppercase ASCII letter | 
| 7 | [a-zA-Z0-9] Match any of the above | 
| 8 | [^aeiou] Match anything other than a lowercase vowel | 
| 9 | [^0-9] Match anything other than a digit | 
Special Character Classes
| Sr.No. | Example & Description | 
|---|---|
| 1 | . Match any character except newline | 
| 2 | \d Match a digit: [0-9] | 
| 3 | \D Match a nondigit: [^0-9] | 
| 4 | \s Match a whitespace character: [ \t\r\n\f] | 
| 5 | \S Match nonwhitespace: [^ \t\r\n\f] | 
| 6 | \w Match a single word character: [A-Za-z0-9_] | 
| 7 | \W Match a nonword character: [^A-Za-z0-9_] | 
Repetition Cases
| Sr.No. | Example & Description | 
|---|---|
| 1 | ruby? Match "rub" or "ruby": the y is optional | 
| 2 | ruby* Match "rub" plus 0 or more ys | 
| 3 | ruby+ Match "rub" plus 1 or more ys | 
| 4 | \d{3} Match exactly 3 digits | 
| 5 | \d{3,} Match 3 or more digits | 
| 6 | \d{3,5} Match 3, 4, or 5 digits | 
Nongreedy repetition
This matches the smallest number of repetitions −
| Sr.No. | Example & Description | 
|---|---|
| 1 | <.*> Greedy repetition: matches "<python>perl>" | 
| 2 | <.*?> Nongreedy: matches "<python>" in "<python>perl>" | 
Grouping with Parentheses
| Sr.No. | Example & Description | 
|---|---|
| 1 | \D\d+ No group: + repeats \d | 
| 2 | (\D\d)+ Grouped: + repeats \D\d pair | 
| 3 | ([Pp]ython(, )?)+ Match "Python", "Python, python, python", etc. | 
Backreferences
This matches a previously matched group again −
| Sr.No. | Example & Description | 
|---|---|
| 1 | ([Pp])ython&\1ails Match python&pails or Python&Pails | 
| 2 | (['"])[^\1]*\1 Single or double-quoted string. \1 matches whatever the 1st group matched. \2 matches whatever the 2nd group matched, etc. | 
Alternatives
| Sr.No. | Example & Description | 
|---|---|
| 1 | python|perl Match "python" or "perl" | 
| 2 | rub(y|le)) Match "ruby" or "ruble" | 
| 3 | Python(!+|\?) "Python" followed by one or more ! or one ? | 
Anchors
This needs to specify match position.
| Sr.No. | Example & Description | 
|---|---|
| 1 | ^Python Match "Python" at the start of a string or internal line | 
| 2 | Python$ Match "Python" at the end of a string or line | 
| 3 | \APython Match "Python" at the start of a string | 
| 4 | Python\Z Match "Python" at the end of a string | 
| 5 | \bPython\b Match "Python" at a word boundary | 
| 6 | \brub\B \B is nonword boundary: match "rub" in "rube" and "ruby" but not alone | 
| 7 | Python(?=!) Match "Python", if followed by an exclamation point. | 
| 8 | Python(?!!) Match "Python", if not followed by an exclamation point. | 
Advertisements
 