Did you consider adding this to string_api?  string_wildcard_match()?