27_regex2.sh (1271B)
1 #!/bin/sh 2 3 # Continuing off of regex 4 # 5 # [] matches with any one character from inside the brackets 6 # [^] matches with any that are not in the brackets 7 # 8 # () groups parts of a pattern 9 # 10 # {} repeats what was shown before a certain amount of times 11 # [a-zA-Z]{2,} All alphabet characters (lower and uppercase) 12 # should be used 2 or more times 13 # [a-zA-Z0-9]{5,15} All characters in square brackets should be used 14 # a min of 5 times and max of 15 15 # 16 # `` same as $(...), but $() is preferred 17 # \ backslash for the literal character 18 # 19 20 # We will verify valid email addresses below. We will keep it simple to 21 # addresses with one word beginnings with numbers and letters, @, 22 # and a website domain. 23 # billybob@bob1.com, David2@test.xyz, etc 24 25 verify() { 26 # don't forget the + symbol in some of these regex 27 28 # verify that the beginning has valid characters 29 echo "$1" | grep -Eq || exit 1 30 31 # verify that an @ symbol and a second level domain is present with 32 # only letters and numbers 33 echo "$1" | grep -Eq || exit 1 34 35 # verify a dot is present 36 echo "$1" | grep -Eq || exit 1 37 38 # verify the ending is a top level domain with 2 or more lowercase 39 # characters 40 echo "$1" | grep -Eq || exit 1 41 } 42 43 verify $1 44 exit 0