genxtech wrote:
I am trying to learn regular expressions in python3 and have an issue
with one of the examples I'm working with.
The code is:

#! /usr/bin/env python3

import re

search_string = "[^aeiou]y$"

You can think of this as: a non-vowel followed by a 'y', then the end of the string.

print()

in_string = 'vacancy'
if re.search(search_string, in_string) != None:
        print(" ay, ey, iy, oy and uy are not at the end of 
{0}.".format(in_string))
else:
        print(" ay, ey, iy, oy or uy were found at the end of 
{0}.".format(in_string))

Matches because 'c' is a non-vowel, 'y' matches, and then the end of the string.

print()

in_string = 'boy'
if re.search(search_string, in_string) != None:
        print(" ay, ey, iy, oy and uy are not at the end of 
{0}.".format(in_string))
else:
        print(" ay, ey, iy, oy or uy were found at the end of 
{0}.".format(in_string))

Doesn't match because 'o' is a vowel, not a non-vowel.

print()

in_string = 'day'
if re.search(search_string, in_string) != None:
        print(" ay, ey, iy, oy and uy are not at the end of 
{0}.".format(in_string))
else:
        print(" ay, ey, iy, oy or uy were found at the end of 
{0}.".format(in_string))

Doesn't match because 'a' is a vowel, not a non-vowel.

print()

in_string = 'pita'
if re.search(search_string, in_string) != None:
        print(" ay, ey, iy, oy and uy are not at the end of 
{0}.".format(in_string))
else:
        print(" ay, ey, iy, oy or uy were found at the end of 
{0}.".format(in_string))

Doesn't match because 't' is a non-vowel but 'a' doesn't match 'y'.

print()

The output that I am getting is:
   ay, ey, iy, oy and uy are not at the end of vacancy.
   ay, ey, iy, oy or uy were found at the end of boy.
   ay, ey, iy, oy or uy were found at the end of day.
   ay, ey, iy, oy or uy were found at the end of pita.

The last line of the output is the opposite of what I expected to see,
and I'm having trouble figuring out what the issue is.  Any help would
be greatly appreciated.

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to