Skip to content

Commit eaea438

Browse files
Corey SchaferCorey Schafer
Corey Schafer
authored and
Corey Schafer
committedOct 21, 2017
Python Regex Tutorial Snippets
1 parent bfc9a91 commit eaea438

File tree

5 files changed

+596
-0
lines changed

5 files changed

+596
-0
lines changed
 

‎Python-Regular-Expressions/data.txt

+499
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,499 @@
1+
Dave Martin
2+
615-555-7164
3+
173 Main St., Springfield RI 55924
4+
davemartin@bogusemail.com
5+
6+
Charles Harris
7+
800-555-5669
8+
969 High St., Atlantis VA 34075
9+
charlesharris@bogusemail.com
10+
11+
Eric Williams
12+
560-555-5153
13+
806 1st St., Faketown AK 86847
14+
laurawilliams@bogusemail.com
15+
16+
Corey Jefferson
17+
900-555-9340
18+
826 Elm St., Epicburg NE 10671
19+
coreyjefferson@bogusemail.com
20+
21+
Jennifer Martin-White
22+
714-555-7405
23+
212 Cedar St., Sunnydale CT 74983
24+
jenniferwhite@bogusemail.com
25+
26+
Erick Davis
27+
800-555-6771
28+
519 Washington St., Olympus TN 32425
29+
tomdavis@bogusemail.com
30+
31+
Neil Patterson
32+
783-555-4799
33+
625 Oak St., Dawnstar IL 61914
34+
neilpatterson@bogusemail.com
35+
36+
Laura Jefferson
37+
516-555-4615
38+
890 Main St., Pythonville LA 29947
39+
laurajefferson@bogusemail.com
40+
41+
Maria Johnson
42+
127-555-1867
43+
884 High St., Braavos‎ ME 43597
44+
mariajohnson@bogusemail.com
45+
46+
Michael Arnold
47+
608-555-4938
48+
249 Elm St., Quahog OR 90938
49+
michaelarnold@bogusemail.com
50+
51+
Michael Smith
52+
568-555-6051
53+
619 Park St., Winterfell VA 99000
54+
michaelsmith@bogusemail.com
55+
56+
Erik Stuart
57+
292-555-1875
58+
220 Cedar St., Lakeview NY 87282
59+
robertstuart@bogusemail.com
60+
61+
Laura Martin
62+
900-555-3205
63+
391 High St., Smalltown WY 28362
64+
lauramartin@bogusemail.com
65+
66+
Barbara Martin
67+
614-555-1166
68+
121 Hill St., Braavos‎ UT 92474
69+
barbaramartin@bogusemail.com
70+
71+
Linda Jackson
72+
530-555-2676
73+
433 Elm St., Westworld TX 61967
74+
lindajackson@bogusemail.com
75+
76+
Eric Miller
77+
470-555-2750
78+
838 Main St., Balmora MT 56526
79+
stevemiller@bogusemail.com
80+
81+
Dave Arnold
82+
800-555-6089
83+
732 High St., Valyria KY 97152
84+
davearnold@bogusemail.com
85+
86+
Jennifer Jacobs
87+
880-555-8319
88+
217 High St., Old-town IA 82767
89+
jenniferjacobs@bogusemail.com
90+
91+
Neil Wilson
92+
777-555-8378
93+
191 Main St., Mordor IL 72160
94+
neilwilson@bogusemail.com
95+
96+
Kurt Jackson
97+
998-555-7385
98+
607 Washington St., Blackwater NH 97183
99+
kurtjackson@bogusemail.com
100+
101+
Mary Jacobs
102+
800-555-7100
103+
478 Oak St., Bedrock IA 58176
104+
maryjacobs@bogusemail.com
105+
106+
Michael White
107+
903-555-8277
108+
906 Elm St., Mordor TX 89212
109+
michaelwhite@bogusemail.com
110+
111+
Jennifer Jenkins
112+
196-555-5674
113+
949 Main St., Smalltown SC 96962
114+
jenniferjenkins@bogusemail.com
115+
116+
Sam Wright
117+
900-555-5118
118+
835 Pearl St., Smalltown ND 77737
119+
samwright@bogusemail.com
120+
121+
John Davis
122+
905-555-1630
123+
451 Lake St., Bedrock GA 34615
124+
johndavis@bogusemail.com
125+
126+
Eric Davis
127+
203-555-3475
128+
419 Lake St., Balmora OR 30826
129+
neildavis@bogusemail.com
130+
131+
Laura Jackson
132+
884-555-8444
133+
443 Maple St., Quahog MS 29348
134+
laurajackson@bogusemail.com
135+
136+
John Williams
137+
904-555-8559
138+
756 Hill St., Valyria KY 94854
139+
johnwilliams@bogusemail.com
140+
141+
Michael Martin
142+
889-555-7393
143+
216 High St., Olympus NV 21888
144+
michaelmartin@bogusemail.com
145+
146+
Maggie Brown
147+
195-555-2405
148+
806 Lake St., Lakeview MD 59348
149+
maggiebrown@bogusemail.com
150+
151+
Erik Wilson
152+
321-555-9053
153+
354 Hill St., Mordor FL 74122
154+
kurtwilson@bogusemail.com
155+
156+
Elizabeth Arnold
157+
133-555-1711
158+
805 Maple St., Winterfell NV 99431
159+
elizabetharnold@bogusemail.com
160+
161+
Jane Martin
162+
900-555-5428
163+
418 Park St., Metropolis ID 16576
164+
janemartin@bogusemail.com
165+
166+
Travis Johnson
167+
760-555-7147
168+
749 Washington St., Braavos‎ SD 25668
169+
travisjohnson@bogusemail.com
170+
171+
Laura Jefferson
172+
391-555-6621
173+
122 High St., Metropolis ME 29540
174+
laurajefferson@bogusemail.com
175+
176+
Tom Williams
177+
932-555-7724
178+
610 High St., Old-town FL 60758
179+
tomwilliams@bogusemail.com
180+
181+
Jennifer Taylor
182+
609-555-7908
183+
332 Main St., Pythonville OH 78172
184+
jennifertaylor@bogusemail.com
185+
186+
Erick Wright
187+
800-555-8810
188+
858 Hill St., Blackwater NC 79714
189+
jenniferwright@bogusemail.com
190+
191+
Steve Doe
192+
149-555-7657
193+
441 Elm St., Atlantis MS 87195
194+
stevedoe@bogusemail.com
195+
196+
Kurt Davis
197+
130-555-9709
198+
404 Oak St., Atlantis ND 85386
199+
kurtdavis@bogusemail.com
200+
201+
Corey Harris
202+
143-555-9295
203+
286 Pearl St., Vice City TX 57112
204+
coreyharris@bogusemail.com
205+
206+
Nicole Taylor
207+
903-555-9878
208+
465 Hill St., Old-town LA 64102
209+
nicoletaylor@bogusemail.com
210+
211+
Elizabeth Davis
212+
574-555-3194
213+
151 Lake St., Eerie SD 17880
214+
elizabethdavis@bogusemail.com
215+
216+
Maggie Jenkins
217+
496-555-7533
218+
504 Lake St., Gotham PA 46692
219+
maggiejenkins@bogusemail.com
220+
221+
Linda Davis
222+
210-555-3757
223+
201 Pine St., Vice City AR 78455
224+
lindadavis@bogusemail.com
225+
226+
Dave Moore
227+
900-555-9598
228+
251 Pine St., Old-town OK 29087
229+
davemoore@bogusemail.com
230+
231+
Linda Jenkins
232+
866-555-9844
233+
117 High St., Bedrock NE 11899
234+
lindajenkins@bogusemail.com
235+
236+
Eric White
237+
669-555-7159
238+
650 Oak St., Smalltown TN 43281
239+
samwhite@bogusemail.com
240+
241+
Laura Robinson
242+
152-555-7417
243+
377 Pine St., Valyria NC 78036
244+
laurarobinson@bogusemail.com
245+
246+
Charles Patterson
247+
893-555-9832
248+
416 Pearl St., Valyria AK 62260
249+
charlespatterson@bogusemail.com
250+
251+
Joe Jackson
252+
217-555-7123
253+
683 Cedar St., South Park KS 66724
254+
joejackson@bogusemail.com
255+
256+
Michael Johnson
257+
786-555-6544
258+
288 Hill St., Smalltown AZ 18586
259+
michaeljohnson@bogusemail.com
260+
261+
Corey Miller
262+
780-555-2574
263+
286 High St., Springfield IA 16272
264+
coreymiller@bogusemail.com
265+
266+
James Moore
267+
926-555-8735
268+
278 Main St., Gotham KY 89569
269+
jamesmoore@bogusemail.com
270+
271+
Jennifer Stuart
272+
895-555-3539
273+
766 Hill St., King's Landing GA 54999
274+
jenniferstuart@bogusemail.com
275+
276+
Charles Martin
277+
874-555-3949
278+
775 High St., Faketown PA 89260
279+
charlesmartin@bogusemail.com
280+
281+
Eric Wilks
282+
800-555-2420
283+
885 Main St., Blackwater OH 61275
284+
joewilks@bogusemail.com
285+
286+
Elizabeth Arnold
287+
936-555-6340
288+
528 Hill St., Atlantis NH 88289
289+
elizabetharnold@bogusemail.com
290+
291+
John Miller
292+
372-555-9809
293+
117 Cedar St., Thundera NM 75205
294+
johnmiller@bogusemail.com
295+
296+
Corey Jackson
297+
890-555-5618
298+
115 Oak St., Gotham UT 36433
299+
coreyjackson@bogusemail.com
300+
301+
Sam Thomas
302+
670-555-3005
303+
743 Lake St., Springfield MS 25473
304+
samthomas@bogusemail.com
305+
306+
Patricia Thomas
307+
509-555-5997
308+
381 Hill St., Blackwater CT 30958
309+
patriciathomas@bogusemail.com
310+
311+
Jennifer Davis
312+
721-555-5632
313+
125 Main St., Smalltown MT 62155
314+
jenniferdavis@bogusemail.com
315+
316+
Patricia Brown
317+
900-555-3567
318+
292 Hill St., Gotham WV 57680
319+
patriciabrown@bogusemail.com
320+
321+
Barbara Williams
322+
147-555-6830
323+
514 Park St., Balmora NV 55462
324+
barbarawilliams@bogusemail.com
325+
326+
James Taylor
327+
582-555-3426
328+
776 Hill St., Dawnstar MA 51312
329+
jamestaylor@bogusemail.com
330+
331+
Eric Harris
332+
400-555-1706
333+
421 Elm St., Smalltown NV 72025
334+
barbaraharris@bogusemail.com
335+
336+
Travis Anderson
337+
525-555-1793
338+
937 Cedar St., Thundera WA 78862
339+
travisanderson@bogusemail.com
340+
341+
Sam Robinson
342+
317-555-6700
343+
417 Pine St., Lakeview MD 13147
344+
samrobinson@bogusemail.com
345+
346+
Steve Robinson
347+
974-555-8301
348+
478 Park St., Springfield NM 92369
349+
steverobinson@bogusemail.com
350+
351+
Mary Wilson
352+
800-555-3216
353+
708 Maple St., Braavos‎ UT 29551
354+
marywilson@bogusemail.com
355+
356+
Sam Wilson
357+
746-555-4094
358+
557 Pearl St., Westworld KS 23225
359+
samwilson@bogusemail.com
360+
361+
Charles Jones
362+
922-555-1773
363+
855 Hill St., Olympus HI 81427
364+
charlesjones@bogusemail.com
365+
366+
Laura Brown
367+
711-555-4427
368+
980 Maple St., Smalltown MO 96421
369+
laurabrown@bogusemail.com
370+
371+
Tom Harris
372+
355-555-1872
373+
676 Hill St., Blackwater AR 96698
374+
tomharris@bogusemail.com
375+
376+
Patricia Taylor
377+
852-555-6521
378+
588 Pine St., Olympus FL 98412
379+
patriciataylor@bogusemail.com
380+
381+
Barbara Williams
382+
691-555-5773
383+
351 Elm St., Sunnydale GA 26245
384+
barbarawilliams@bogusemail.com
385+
386+
Maggie Johnson
387+
332-555-5441
388+
948 Cedar St., Quahog DE 56449
389+
maggiejohnson@bogusemail.com
390+
391+
Kurt Miller
392+
900-555-7755
393+
381 Hill St., Quahog AL 97503
394+
kurtmiller@bogusemail.com
395+
396+
Neil Stuart
397+
379-555-3685
398+
496 Cedar St., Sunnydale RI 49113
399+
neilstuart@bogusemail.com
400+
401+
Linda Patterson
402+
127-555-9682
403+
736 Cedar St., Lakeview KY 47472
404+
lindapatterson@bogusemail.com
405+
406+
Charles Davis
407+
789-555-7032
408+
678 Lake St., Mordor MN 11845
409+
charlesdavis@bogusemail.com
410+
411+
Jennifer Jefferson
412+
783-555-5135
413+
289 Park St., Sunnydale WA 74526
414+
jenniferjefferson@bogusemail.com
415+
416+
Erick Taylor
417+
315-555-6507
418+
245 Washington St., Bedrock IL 26941
419+
coreytaylor@bogusemail.com
420+
421+
Robert Wilks
422+
481-555-5835
423+
573 Elm St., Sunnydale IL 47182
424+
robertwilks@bogusemail.com
425+
426+
Travis Jackson
427+
365-555-8287
428+
851 Lake St., Metropolis PA 22772
429+
travisjackson@bogusemail.com
430+
431+
Travis Jackson
432+
911-555-7535
433+
489 Oak St., Atlantis HI 73725
434+
travisjackson@bogusemail.com
435+
436+
Laura Wilks
437+
681-555-2460
438+
371 Pearl St., Smalltown SC 47466
439+
laurawilks@bogusemail.com
440+
441+
Neil Arnold
442+
274-555-9800
443+
504 Oak St., Faketown PA 73860
444+
neilarnold@bogusemail.com
445+
446+
Linda Johnson
447+
800-555-1372
448+
667 High St., Balmora IN 82473
449+
lindajohnson@bogusemail.com
450+
451+
Jennifer Wilson
452+
300-555-7821
453+
266 Pine St., Westworld DC 58720
454+
jenniferwilson@bogusemail.com
455+
456+
Nicole White
457+
133-555-3889
458+
276 High St., Braavos‎ IL 57764
459+
nicolewhite@bogusemail.com
460+
461+
Maria Arnold
462+
705-555-6863
463+
491 Elm St., Metropolis PA 31836
464+
mariaarnold@bogusemail.com
465+
466+
Jennifer Davis
467+
215-555-9449
468+
859 Cedar St., Old-town MT 31169
469+
jenniferdavis@bogusemail.com
470+
471+
Mary Patterson
472+
988-555-6112
473+
956 Park St., Valyria CT 81541
474+
marypatterson@bogusemail.com
475+
476+
Jane Stuart
477+
623-555-3006
478+
983 Oak St., Old-town RI 15445
479+
janestuart@bogusemail.com
480+
481+
Robert Davis
482+
192-555-4977
483+
789 Maple St., Mordor IN 22215
484+
robertdavis@bogusemail.com
485+
486+
James Taylor
487+
178-555-4899
488+
439 Hill St., Olympus NV 39308
489+
jamestaylor@bogusemail.com
490+
491+
Eric Stuart
492+
952-555-3089
493+
777 High St., King's Landing AZ 16547
494+
johnstuart@bogusemail.com
495+
496+
Charles Miller
497+
900-555-6426
498+
207 Washington St., Blackwater MA 24886
499+
charlesmiller@bogusemail.com

‎Python-Regular-Expressions/emails.py

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import re
2+
3+
emails = '''
4+
CoreyMSchafer@gmail.com
5+
corey.schafer@university.edu
6+
corey-321-schafer@my-work.net
7+
'''
8+
9+
pattern = re.compile(r'[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+')
10+
11+
matches = pattern.finditer(emails)
12+
13+
for match in matches:
14+
print(match)

‎Python-Regular-Expressions/simple.py

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import re
2+
3+
text_to_search = '''
4+
abcdefghijklmnopqurtuvwxyz
5+
ABCDEFGHIJKLMNOPQRSTUVWXYZ
6+
1234567890
7+
8+
Ha HaHa
9+
10+
MetaCharacters (Need to be escaped):
11+
. ^ $ * + ? { } [ ] \ | ( )
12+
13+
coreyms.com
14+
15+
321-555-4321
16+
123.555.1234
17+
123*555*1234
18+
800-555-1234
19+
900-555-1234
20+
21+
Mr. Schafer
22+
Mr Smith
23+
Ms Davis
24+
Mrs. Robinson
25+
Mr. T
26+
'''
27+
28+
sentence = 'Start a sentence and then bring it to an end'
29+
30+
pattern = re.compile(r'start', re.I)
31+
32+
matches = pattern.search(sentence)
33+
34+
print(matches)
+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
2+
. - Any Character Except New Line
3+
\d - Digit (0-9)
4+
\D - Not a Digit (0-9)
5+
\w - Word Character (a-z, A-Z, 0-9, _)
6+
\W - Not a Word Character
7+
\s - Whitespace (space, tab, newline)
8+
\S - Not Whitespace (space, tab, newline)
9+
10+
\b - Word Boundary
11+
\B - Not a Word Boundary
12+
^ - Beginning of a String
13+
$ - End of a String
14+
15+
[] - Matches Characters in brackets
16+
[^ ] - Matches Characters NOT in brackets
17+
| - Either Or
18+
( ) - Group
19+
20+
Quantifiers:
21+
* - 0 or More
22+
+ - 1 or More
23+
? - 0 or One
24+
{3} - Exact Number
25+
{3,4} - Range of Numbers (Minimum, Maximum)
26+
27+
28+
#### Sample Regexs ####
29+
30+
[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+

‎Python-Regular-Expressions/urls.py

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import re
2+
3+
urls = '''
4+
https://www.google.com
5+
http://coreyms.com
6+
https://youtube.com
7+
https://www.nasa.gov
8+
'''
9+
10+
pattern = re.compile(r'https?://(www\.)?(\w+)(\.\w+)')
11+
12+
subbed_urls = pattern.sub(r'\2\3', urls)
13+
14+
print(subbed_urls)
15+
16+
# matches = pattern.finditer(urls)
17+
18+
# for match in matches:
19+
# print(match.group(3))

0 commit comments

Comments
 (0)
Please sign in to comment.