1. Computing & Technology

Python Regular Expressions (regex): Forming a Regular Expression in Python

From , former About.com Guide

10 of 10

An Explanation of Forming RegEx in Python

Let's look at the regex for a moment. There are some things here which have been briefly mentioned but not fully discussed.

 >>> x = re.compile("^\S{3,5}.[aeiou]") 
 

When forming a regular expression, it is important to remember that every pattern matching symbol equals exactly one character in the string to be matched. The only time this 1-to-1 relationship changes is when you put quantifiers in curly braces or bracket alternatives together in a square braces.

If you find yourself having difficulty in formulating the appropriate regex forumla, write it out long-style -- on-screen or on paper. Then, take it one character at a time. Even if you want more than one match, put each one down explicitly.

So if we want to begin with a consonant, we write:

^\S Then, because we want three, we write out the three consonants:
^\S\S\S

Keep in mind here that these three symbols equate to three characters. If we then want the fifth character of the string to be a vowel, we need to enter a filler for the fourth position. Enter the period/full stop. Remember, the period/full stop equates to any character save the newline character ("\n").

^\S\S\S. Then, if we want to add the vowels, we need to decide whether we want to include "y". Assuming no, we can place all the vowels together between a pair of square brackets and append them to the formula:
^\S\S\S.[aeiou]

©2012 About.com. All rights reserved.

A part of The New York Times Company.