If someone suggested that you write a function which, given a person’s name, tells you what gender they are, you might caution that this is a hard problem. You might suggest a solution like a Bayesian classifier, which could be trained, or you might say, “Maybe we should just let the users tell us.”
There are a few things you almost certainly wouldn’t suggest. You wouldn’t suggest using ColdFusion , because CF is constructed out of sin and unicorn tears. And you certainly wouldn’t suggest trying to use regexes to do this job.
That’s because you aren’t Brent’s co-worker, who wrote this:
this.genderize(Arguments.firstName)
<cffunction name="Genderize" output="false" returnType="string">
<cfargument name="Name" type="string" required="true">
<cfscript>
var regex = "";
regex = "(ua|pher|andy|elijah)$";
if (REFindNoCase(regex, Arguments.name)) {return "male";}
regex = "(a|i|y|ah|ee|et|ette|elle|fer|ine|lyn|ie|anne|een|en|er|yn|ynn|kim|rachel|lind|pam|sue)$";
if (REFindNoCase(regex, Arguments.name)) {return "female";}
return "male";
</cfscript>
</cffunction>