We have for some time been using the MVEL expression language magic, from Mike Brock. This has served us well, but I found that it has some funky features like "soundex" built in. This allows you to match text based on the soundex algorithm (ie a word sounds like another word).
In 4.0.2, this is available as a proper operator in rules:
Cheese(name soundslike "steelton")
And in the GUI:
You can of course do this in predicates/eval (along with other cool things that MVEL has hidden in it). Handy !