35
Regular Expressions What are they and what can they do for you? Thursday, February 7, 13

Basic Regular Expressions

Embed Size (px)

Citation preview

Page 1: Basic Regular Expressions

Regular Expressions What are they and what can they do for you?

Thursday, February 7, 13

Page 2: Basic Regular Expressions

\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2-4}\b

Source: http://www.regular-expressions.info/email.html

Thursday, February 7, 13

Page 3: Basic Regular Expressions

So...what is a regular expression?

Thursday, February 7, 13

Page 4: Basic Regular Expressions

A Regular Expression is a pattern for a string.

Thursday, February 7, 13

Page 5: Basic Regular Expressions

What can you do with Regular Expressions?

Test a stringExtract a stringChange a string

Thursday, February 7, 13

Page 6: Basic Regular Expressions

Creating Regular Expressions

/RegularExpression/

Thursday, February 7, 13

Page 7: Basic Regular Expressions

Scenario #1Testing Strings

Thursday, February 7, 13

Page 8: Basic Regular Expressions

Examples from “Programming Ruby” (PickAxe)

Thursday, February 7, 13

Page 9: Basic Regular Expressions

“dog and cat”

Thursday, February 7, 13

Page 10: Basic Regular Expressions

“dog and cat”

/cat/

Thursday, February 7, 13

Page 11: Basic Regular Expressions

“dog and cat”

/cat/

/cat/ =~ “dog and cat”

Thursday, February 7, 13

Page 12: Basic Regular Expressions

=~/cat/ =~ “dog and cat”

Thursday, February 7, 13

Page 13: Basic Regular Expressions

Thursday, February 7, 13

Page 14: Basic Regular Expressions

Thursday, February 7, 13

Page 15: Basic Regular Expressions

match/cat/.match(“dog and cat”)

Thursday, February 7, 13

Page 16: Basic Regular Expressions

Valid Emails

Thursday, February 7, 13

Page 18: Basic Regular Expressions

Rubular

Thursday, February 7, 13

Page 19: Basic Regular Expressions

Alternation/Nell | Brandon/

Thursday, February 7, 13

Page 20: Basic Regular Expressions

Metacharacters

any single character

character can appear any number of times

.*

Thursday, February 7, 13

Page 21: Basic Regular Expressions

.*//matches ANYTHING

Thursday, February 7, 13

Page 22: Basic Regular Expressions

Range[a-d] [1-4]

Thursday, February 7, 13

Page 23: Basic Regular Expressions

Shorthand!

\w stands for any word character.

It’s the same as:[a-zA-Z0-9_]

Thursday, February 7, 13

Page 24: Basic Regular Expressions

Metacharacters

character occurs one or more times+

Thursday, February 7, 13

Page 25: Basic Regular Expressions

Thursday, February 7, 13

Page 26: Basic Regular Expressions

Scenario #2Extracting Strings

Thursday, February 7, 13

Page 27: Basic Regular Expressions

Shorthand!

\d stands for any digit

\D stands for any non-digit

Thursday, February 7, 13

Page 28: Basic Regular Expressions

Repetition!

\d{3} Looks for exactly 3 digits

Thursday, February 7, 13

Page 29: Basic Regular Expressions

Make It Optional!

?Makes a character

optional. It can occur 0 or 1 time.

Thursday, February 7, 13

Page 30: Basic Regular Expressions

Scenario #3Changing Strings

Thursday, February 7, 13

Page 31: Basic Regular Expressions

“Brandon is the teacher of the class right now. Brandon is teaching about regular expressions.”

Thursday, February 7, 13

Page 32: Basic Regular Expressions

sub(/pattern/, “text”)

Thursday, February 7, 13

Page 33: Basic Regular Expressions

gsub(/pattern/, “text”)

(replace ALL the matches)

Thursday, February 7, 13

Page 34: Basic Regular Expressions

sub and gsub create new strings. sub! and gsub! change the original strings

Thursday, February 7, 13

Page 35: Basic Regular Expressions

Welcome to the wonderful world of Regular Expressions!

Thursday, February 7, 13