Here you can find the source of quoteRegexMeta(String str)
public static String quoteRegexMeta(String str)
//package com.java2s; /*/* w w w . j a va2 s.c o m*/ * StringUtil.java * * This file is part of SQL Workbench/J, http://www.sql-workbench.net * * Copyright 2002-2017, Thomas Kellerer * * Licensed under a modified Apache License, Version 2.0 * that restricts the use for certain governments. * You may not use this file except in compliance with the License. * You may obtain a copy of the License at. * * http://sql-workbench.net/manual/license.html * * 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. * * To contact the author please send an email to: support@sql-workbench.net * */ public class Main { public static final String EMPTY_STRING = ""; public static final String REGEX_SPECIAL_CHARS = "\\[](){}.*+?$^|"; /** * Quote the characters in a String that have a special meaning * in regular expression. */ public static String quoteRegexMeta(String str) { if (str == null) return null; if (str.length() == 0) { return EMPTY_STRING; } int len = str.length(); StringBuilder buf = new StringBuilder(len + 5); for (int i = 0; i < len; i++) { char c = str.charAt(i); if (REGEX_SPECIAL_CHARS.indexOf(c) != -1) { buf.append('\\'); } buf.append(c); } return buf.toString(); } public static int indexOf(CharSequence value, char c) { return indexOf(value, c, 1); } public static int indexOf(CharSequence value, char c, int occurance) { if (value == null) return -1; if (occurance <= 0) occurance = 1; int numFound = 0; for (int i = 0; i < value.length(); i++) { if (value.charAt(i) == c) { numFound++; if (numFound == occurance) return i; } } return -1; } }