Week 6: Assignment - Regular Expressions
This commit is contained in:
parent
6f7f1c31c9
commit
b1a3c88334
|
@ -0,0 +1,77 @@
|
|||
# Week 6: Assignment - Regular Expressions
|
||||
# by Llewellyn van der Merwe
|
||||
|
||||
1) NOTATION: /Llewellyn/ OR /[Ll]lewellyn/
|
||||
TESTER: hello 'Llewellyn? hello
|
||||
SED: echo "hello 'Llewellyn? hello Llewellyn" | sed 's/Llewellyn/xxxxx/'
|
||||
RESULT: hello 'xxxxx? hello Llewellyn
|
||||
SED: echo "hello 'Llewellyn? hello llewellyn" | sed 's/[Ll]lewellyn/xxxxx/g'
|
||||
RESULT: hello 'xxxxx? hello xxxxx
|
||||
|
||||
2) NOTATION: /Th[ea]n/
|
||||
TESTER: Then vs Than
|
||||
SED: echo "Then vs Than" | sed 's/Th[ea]n/xxxxx/g'
|
||||
RESULT: xxxxx vs xxxxx
|
||||
|
||||
3) NOTATION: /yes\|no/ OR->ERE /yes|no/
|
||||
TESTER: yes and no
|
||||
SED: echo "yes and no" | sed 's/yes\|no/xxxxx/g'
|
||||
RESULT: xxxxx and xxxxx
|
||||
|
||||
4) NOTATION: /df\+/ OR->ERE /df+/
|
||||
TESTER: key dfffffff and more
|
||||
SED: echo "key dfffffff and more" | sed 's/df\+/xxxxx/g'
|
||||
RESULT: key xxxxx and more
|
||||
|
||||
5) NOTATION: /[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]/ (just structure, not truly valid)
|
||||
TESTER: 856-45-6789
|
||||
SED: echo "856-45-6789" | sed 's/[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]/xxx-xx-xxxx/g'
|
||||
RESULT: xxx-xx-xxxx
|
||||
|
||||
6) NOTATION: /Mc\w\+/ OR->ERE /Mc\w+/
|
||||
TESTER: Mcarthur Williams Mccallister Mano McKay McGoff
|
||||
SED: echo "Mcarthur Williams Mccallister Mano McKay McGoff" | sed 's/Mc\w\+/xxxx/g'
|
||||
RESULT: xxxx Williams xxxx Mano xxxx xxxx
|
||||
|
||||
7) NOTATION: /\w\+\.cc\b\|\w\+\.c\b/ OR /\w\+\.cc\>\|\w\+\.c\>/ OR->ERE /\w+\.cc\b|\w+\.c\b/
|
||||
TESTER: main.c header.h class.cc classheader.h more.cpp
|
||||
SED: echo "main.c header.h class2.cc classheader.h more.cpp" | sed 's/\w\+\.cc\b\|\w\+\.c\b/xxx.x/g'
|
||||
RESULT: xxx.x header.h xxx.x classheader.h more.cpp
|
||||
|
||||
TO REALLY FIND THE FILES
|
||||
find -regex ".*\.\(cc\|c\)"
|
||||
|
||||
// first try....
|
||||
8) NOTATION: /\b(?:\w*?[aeiou]){2}\w*\b/
|
||||
TESTER: this, jjjakkkollllu, akkkku, jallekkillllu, works
|
||||
PERL: echo "this, jjjakkkollllu, akkkku, jallekkillllu, works" | perl -pe 's/\b(?:\w*?[aeiou]){2}\w*\b/xxx/g'
|
||||
RESULT: this, xxx, xxx, xxx, works
|
||||
URL: https://regex101.com/r/l8crv5/2
|
||||
URL: https://extendsclass.com/regex/acf86eb
|
||||
|
||||
// hundredth try....
|
||||
8) NOTATION: /\b\([aeiou]\?\w\+[aeiou]\?\)\?\([aeiou]\w\+[aeiou]\)\+\([aeiou]\?\w\+[aeiou]\?\)\?\b/
|
||||
OR->ERE
|
||||
/\b([aeiou]?\w+[aeiou]?)?([aeiou]\w+[aeiou])+([aeiou]?\w+[aeiou]?)?\b/
|
||||
TESTER: this, jjjakkkollllu, akkkku, jallekkillllu, works
|
||||
SED: echo "this, jjjakkkollllu, akkkku, jallekkillllu, works" | sed 's/\b\([aeiou]\?\w\+[aeiou]\?\)\?\([aeiou]\w\+[aeiou]\)\+\([aeiou]\?\w\+[aeiou]\?\)\?\b/xxx/g'
|
||||
RESULT: this, xxx, xxx, xxx, work
|
||||
URL: https://extendsclass.com/regex/25420a2
|
||||
|
||||
9) NOTATION: /\bb\w.\?b\b/ OR->ERE /\bb\w.?b\b/
|
||||
TESTER: bob bulb ben bam beeb bash baob
|
||||
SED: echo "bob bulb ben bam beeb bash baob" | sed 's/\bb\w.\?b\b/xxxx/g'
|
||||
RESULT: xxxx xxxx ben bam xxxx bash xxxx
|
||||
|
||||
10) NOTATION: /x+y+/ OR->BRE /x\+y\+/
|
||||
TESTER: xxxyyy xyyy xxxy xandy xtoy
|
||||
SED: echo "xxxyyy xyyy xxxy xandy xtoy" | sed 's/x\+y\+/zzzzz/g'
|
||||
RESULT: zzzzz zzzzz zzzzz xandy xtoy
|
||||
|
||||
11) NOTATION: /[a-f]z?/ OR->BRE /[a-f]z?/
|
||||
TESTER: az fz zr zw
|
||||
SED: echo "az fz zr zw" | sed 's/[a-f]z\?/xx/g'
|
||||
RESULT: xx xx zr zw
|
||||
SED: echo "a f zr zw" | sed 's/[a-f]z\?/xx/g'
|
||||
RESULT: xx xx zr zw
|
||||
|
Loading…
Reference in New Issue