Presentation is loading. Please wait.

Presentation is loading. Please wait.

Nate Brunelle Today: Regular Expressions

Similar presentations


Presentation on theme: "Nate Brunelle Today: Regular Expressions"— Presentation transcript:

1 Nate Brunelle Today: Regular Expressions
CS1110 Nate Brunelle Today: Regular Expressions

2 Questions?

3 String.find() Takes a string as an argument, and if exactly that string appears, give its index Mystring.find(“Purple Elephant”) “purple elephant”.find(“Purple Elephant”) “the elephant was purple”

4 Wildcards [Rr]ugs?[^a-zA-Z] Match on/ find: Will not match on/find:
Rugged rugged We might want: A way of saying r or R å Maybe there’s an s ç Something that’s not a letter ê åugçê [Rr]ugs?[^a-zA-Z]

5 R string “\”” r“\”this” -> error r“\n” -> \n

6 Regex Pieces Operation Example Meaning Character class [Rr] or [rR]
[abcd] [\^] R or r Exactly one of a, b, c, or d Just carat (^) Character Range [a-z] [a-zA-Z] [0-9] Exactly one character “between” a and z “between” a and z or “between” A and Z Any one digit Negative character class [^a] [^a-zA-Z] [^\^] Any one character that’s not an a Any one character that’s not a letter any one character that’s not a carat Optional Quantifier s? [Rr]? Maybe there’s an s, 0 or 1 s Either have one of R or r or neither OR wx|xyz One of the strings wx or xyz Star [abc]* Any number of a’s b’s and c’s at all Plus [abc]+ At least one of a’s, b’s, and c’s

7 Regex Pieces, Cont. All UVA computing IDs
Operation Example Meaning Count Range {3, 5} [ab]{2,3} Between 3 and 5 (inclusive) copies of. aa, ab, ba, bb, aaa, aab, abb, baa, … End of Text $ This is some text# Beginning of Text ^ #This is some text Word Boundary \b #This# #is# #some# #text# Anything . Any one character All UVA computing IDs 2-3 letters, number, 1-3 letters [a-z]{2,3}[1-9][a-z]{1,3}

8 Give an Expression to match
All UVA computing IDs 2-3 letters, number, 1-3 letters [a-z] [a-z] [a-z]?[1-9] [a-z] [a-z]? [a-z]?

9 What does a for loop look like?
for [variable] in [collection]: Variable: [a-zA-Z]+ [0, 1, 5, 9]

10 In python import re Compile Operate Match Object search
Similar to string.find() # gives only the first match Finditer # gives a collection of matches Findall 0 parentheses: m.group() 1 paren: m.group(1) 2+ paren: m.groups() Match Object group start end groups


Download ppt "Nate Brunelle Today: Regular Expressions"

Similar presentations


Ads by Google