Electrical-Forenics Home ray@RayFranco.com                       601.529.7473
   © Dr. Ray Franco, PhD, PE  -  208 Fairways Dr., Vicksburg, MS 39183

Regular Expressions

Regular Expressions

Regular Expressions in Python

 

Meta Characters that need to be escaped with a \ :
.  ^   $  *   +  ?   {   }  [   ]   \  |   (  )

 

Insert Mode
.- Any Character Except New Line
\d- Digit (0-9)
\D- Not a Digit (0-9)
\w- Word Character (a-z, A-Z, 0-9, _ )
\W- Not a Word Character
\s- Whitespace (space, tab, newline)
\S- Not a Whitespace
  
\w- Word Boundary
^- Beginning of a String
$- End of a String
  
[ ]- Matches Any Character in the Brackets
[^ ]- Matches Any Character NOT in the Brackets
( )- Matches Groups of Characters
|- Either OR - used with Groups

 

Quantifiers:
*- 0 or More
+- 1 or More
?- 0 or 1
{3}- Exact Number
{3,4}- Range of Numbers (Min,Max)

 

Most Linux distributions use the gnu version of grep (global regular expression print). The gnu version of grep understands three differtnt types of regular expression syntax:

   1) grep (basic regular Expressions)
   2) grep -E (Extended regular Expressions)
   3) grep -P (perl regular expressions).

Only the -P options matches everything in the tables.

The basic and extended do not support \d, \D, etc.

The basic does not support {3}, but the extended does support it.

Examples:

$ cat grep_test.txt
123.456.7890
012*346*6789
800-124-4567
Mr. T
Mr Ray
Mrs. Raymond
Mrs Jones
Ms. Smith
Ms Wilson

$ grep -P '\d{3}[.-]\d{3}[-.]\d{4}' grep_test.txt
123.456.7890
800-123-4567

$ grep -P '(Mr.|Mr|Mrs.|Mrs|Ms.|Ms)\s[A-Z]' grep_test.txt
Mr. T
Mr Ray
Mrs. Raymond
Mrs Jones
Ms. Smith
Ms Wilson

$ grep -P 'ay$' grep_test.txt
Mr. Ray