"""Convert text to Pig LatinThis program is part of "Dive Into Python", a free Python book forexperienced programmers. Visit http://diveintopython.org/ for thelatest version."""__author__="Mark Pilgrim (mark@diveintopython.org)"__version__="$Revision: 1.2 $"__date__="$Date: 2004/05/05 21:57:19 $"__copyright__="Copyright (c) 2002 Mark Pilgrim"__license__="Python"importredef_wordToPigLatin(match):word=match.group()consonants=match.group(1)restOfWord=match.group(2)# put consonants after rest of word, and add "ay"result="%s%say"%(restOfWord,consonants)# if word was all uppercase, make result uppercaseifword==word.upper():result=result.upper()# if word was capitalized, make result capitalizedelifword==word.capitalize():result=result.capitalize()returnresultdefpigLatin(source):pattern=re.compile(r'\b([bcdfghjklmnpqrstvwxyz]*)(\w+)\b',re.IGNORECASE)returnpattern.sub(_wordToPigLatin,source)