Can I get some sense of use case? What would you use it for? Just curious. On Fri, Oct 8, 2010 at 9:06 AM, Stephen Colebourne <[email protected]> wrote: > I don't think comons lang has a routine for converting a standard > wildcard string (with * and ?) to a regex. > Here is a first suggestion, although I'm sure it can be improved. > > public Pattern createPattern(String text) { > StringTokenizer tkn = new StringTokenizer(text, "?*", true); > StringBuilder buf = new StringBuilder(text.length() + 10); > buf.append('^'); > boolean lastStar = false; > while (tkn.hasMoreTokens()) { > String str = tkn.nextToken(); > if (str.equals("?")) { > buf.append('.'); > lastStar = false; > } else if (str.equals("*")) { > if (lastStar == false) { > buf.append(".*"); > } > lastStar = true; > } else { > buf.append(Pattern.quote(str)); > lastStar = false; > } > } > buf.append('$'); > return Pattern.compile(buf.toString(), Pattern.CASE_INSENSITIVE); > } > > Other possile conversions would be * and ? to databse wildcards, so > perhaps there is scope for a few related methods here? > > Stephen > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
--------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
