String (@NotNull String pattern, @NotNull ChooseByNameModel model) { String rawPattern = pattern; Pattern regex = null; if (StringUtil.containsAnyChar(pattern, ":,;@[( #") || pattern.contains(" line ") || pattern.contains("?l=")) { // quick test if reg exp should be used regex = patternToDetectLinesAndColumns; } if (model instanceof GotoClassModel2 || model instanceof GotoSymbolModel2) { if (pattern.indexOf('#') != -1) { regex = model instanceof GotoClassModel2 ? patternToDetectMembers : patternToDetectSignatures; } if (pattern.indexOf('$') != -1) { regex = patternToDetectAnonymousClasses; } } if (regex != null) { final Matcher matcher = regex.matcher(pattern); if (matcher.matches()) { pattern = matcher.group(1); } } if (rawPattern.endsWith(fullMatchSearchSuffix)) { pattern += fullMatchSearchSuffix; } return pattern; }