Here you can find the source of wildcardToRegex(String wildcard)
public static String wildcardToRegex(String wildcard)
//package com.java2s; /**/*from w w w . j a v a 2 s. co m*/ * @author Nigel Cook * * (C) Copyright 2010-2012. Nigel Cook. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Licensed under the terms described in LICENSE file that accompanied this code, (the "License"); you may not use this file * except in compliance with the License. * * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. */ public class Main { public static String wildcardToRegex(String wildcard) { StringBuffer s = new StringBuffer(wildcard.length()); boolean alternation = false; for (int i = 0, is = wildcard.length(); i < is; i++) { char c = wildcard.charAt(i); switch (c) { case '*': s.append(".*"); break; case '?': s.append("."); break; // escape special regexp-characters case '(': case ')': case '$': case '[': case ']': case '^': case '.': case '|': case '\\': s.append("\\"); s.append(c); break; case '{': if (alternation) s.append("\\{"); else s.append("("); alternation = true; break; case ',': if (alternation) s.append("|"); else s.append(","); break; case '}': if (alternation) s.append(")"); else s.append("\\}"); alternation = false; break; default: s.append(c); break; } } s.append('$'); return (s.toString()); } }