Hi folks,
assuming that "standard wildcard" is actually globbing I came around of
an globbing to regexp converter somewhere - I will have a look
Cheers,
Siegfried Goeschl
On 10/8/10 4:32 PM, Stephen Colebourne wrote:
Human users enter wildcards * and ? (because regex is too complex). In
my case, I'm passing it to MongoDB, which needs regex.
Stephen
On 8 October 2010 15:10, Paul Benedict<pbened...@apache.org> wrote:
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<scolebou...@joda.org> 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: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org