java.util.regex.Pattern#pattern ( )源码实例Demo

下面列出了java.util.regex.Pattern#pattern ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

static void replace(AtomicReference<String> ref, Path documentPath, String list, org.apache.camel.catalog.Kind kind) {
    final Pattern pat = Pattern.compile("(" + Pattern.quote("// " + kind.name() + "s: START\n") + ")(.*)("
            + Pattern.quote("// " + kind.name() + "s: END\n") + ")", Pattern.DOTALL);

    final String document = ref.get();
    final Matcher m = pat.matcher(document);

    final StringBuffer sb = new StringBuffer(document.length());
    if (m.find()) {
        m.appendReplacement(sb, "$1" + Matcher.quoteReplacement(list) + "$3");
    } else {
        throw new IllegalStateException("Could not find " + pat.pattern() + " in " + documentPath + ":\n\n" + document);
    }
    m.appendTail(sb);
    ref.set(sb.toString());
}
 
源代码2 项目: windup   文件: XmlFileNameValidator.java
@Override public boolean isValid(GraphRewrite event,EvaluationContext context, XmlFileModel model)
{
    if (fileNamePattern != null)
    {
        final ParameterStore store = DefaultParameterStore.getInstance(context);
        Pattern compiledPattern = fileNamePattern.getCompiledPattern(store);
        String pattern = compiledPattern.pattern();
        String fileName = model.getFileName();
        if (!fileName.matches(pattern))
        {
            return false;
        }
        return true;
    }
    return true;
}
 
源代码3 项目: Tomcat8-Source-Read   文件: SpnegoAuthenticator.java
public String getNoKeepAliveUserAgents() {
    Pattern p = noKeepAliveUserAgents;
    if (p == null) {
        return null;
    } else {
        return p.pattern();
    }
}
 
源代码4 项目: cucumber   文件: TreeRegexp.java
private static GroupBuilder createGroupBuilder(Pattern pattern) {
    String source = pattern.pattern();
    Deque<GroupBuilder> stack = new ArrayDeque<>(singleton(new GroupBuilder()));
    Deque<Integer> groupStartStack = new ArrayDeque<>();
    boolean escaping = false;
    boolean charClass = false;

    for (int i = 0; i < source.length(); i++) {
        char c = source.charAt(i);
        if (c == '[' && !escaping) {
            charClass = true;
        } else if (c == ']' && !escaping) {
            charClass = false;
        } else if (c == '(' && !escaping && !charClass) {
            groupStartStack.push(i);
            boolean nonCapturing = isNonCapturingGroup(source, i);
            GroupBuilder groupBuilder = new GroupBuilder();
            if (nonCapturing) {
                groupBuilder.setNonCapturing();
            }
            stack.push(groupBuilder);
        } else if (c == ')' && !escaping && !charClass) {
            GroupBuilder gb = stack.pop();
            int groupStart = groupStartStack.pop();
            if (gb.isCapturing()) {
                gb.setSource(source.substring(groupStart + 1, i));
                stack.peek().add(gb);
            } else {
                gb.moveChildrenTo(stack.peek());
            }
        }
        escaping = c == '\\' && !escaping;
    }
    return stack.pop();
}
 
源代码5 项目: tomcatsrc   文件: SpnegoAuthenticator.java
public String getNoKeepAliveUserAgents() {
    Pattern p = noKeepAliveUserAgents;
    if (p == null) {
        return null;
    } else {
        return p.pattern();
    }
}
 
源代码6 项目: Telegram-FOSS   文件: HlsPlaylistParser.java
private static String parseStringAttr(
    String line, Pattern pattern, Map<String, String> variableDefinitions)
    throws ParserException {
  String value = parseOptionalStringAttr(line, pattern, variableDefinitions);
  if (value != null) {
    return value;
  } else {
    throw new ParserException("Couldn't match " + pattern.pattern() + " in " + line);
  }
}
 
protected T createAndValidateProperty(Pattern pattern, Object object) {
	if (object != null) {
		String generatedValue = object.toString();
		boolean matches = pattern.matcher(generatedValue).matches();
		if (!matches) {
			throw new IllegalStateException("The generated value [" + generatedValue
					+ "] doesn\'t match the pattern [" + pattern.pattern() + "]");
		}

		return createProperty(pattern, object);
	}

	return createProperty(pattern, object);
}
 
源代码8 项目: TelePlus-Android   文件: HlsPlaylistParser.java
private static String parseStringAttr(String line, Pattern pattern) throws ParserException {
  Matcher matcher = pattern.matcher(line);
  if (matcher.find() && matcher.groupCount() == 1) {
    return matcher.group(1);
  }
  throw new ParserException("Couldn't match " + pattern.pattern() + " in " + line);
}
 
源代码9 项目: Telegram   文件: HlsPlaylistParser.java
private static String parseStringAttr(
    String line, Pattern pattern, Map<String, String> variableDefinitions)
    throws ParserException {
  String value = parseOptionalStringAttr(line, pattern, variableDefinitions);
  if (value != null) {
    return value;
  } else {
    throw new ParserException("Couldn't match " + pattern.pattern() + " in " + line);
  }
}
 
源代码10 项目: K-Sonic   文件: HlsPlaylistParser.java
private static String parseStringAttr(String line, Pattern pattern) throws ParserException {
  Matcher matcher = pattern.matcher(line);
  if (matcher.find() && matcher.groupCount() == 1) {
    return matcher.group(1);
  }
  throw new ParserException("Couldn't match " + pattern.pattern() + " in " + line);
}
 
源代码11 项目: systemsgenetics   文件: TextFile.java
public void writelnDelimited(Object[] vals, Pattern p) throws IOException {
	String delim = "";
	for (Object val : vals) {
		out.write(delim);
		out.write(val.toString());
		delim = p.pattern();
	}
	writeln();
}
 
源代码12 项目: lams   文件: CellFormatPart.java
/**
 * Returns the number of the first group that is the same as the marker
 * string. Starts from group 1.
 *
 * @param pat    The pattern to use.
 * @param str    The string to match against the pattern.
 * @param marker The marker value to find the group of.
 *
 * @return The matching group number.
 *
 * @throws IllegalArgumentException No group matches the marker.
 */
private static int findGroup(Pattern pat, String str, String marker) {
    Matcher m = pat.matcher(str);
    if (!m.find())
        throw new IllegalArgumentException(
                "Pattern \"" + pat.pattern() + "\" doesn't match \"" + str +
                        "\"");
    for (int i = 1; i <= m.groupCount(); i++) {
        String grp = m.group(i);
        if (grp != null && grp.equals(marker))
            return i;
    }
    throw new IllegalArgumentException(
            "\"" + marker + "\" not found in \"" + pat.pattern() + "\"");
}
 
源代码13 项目: scheduling   文件: CatalogObjectValidator.java
@Override
public String validate(String parameterValue, ModelValidatorContext context) throws ValidationException {
    Pattern pattern = Pattern.compile(CATALOG_OBJECT_MODEL_REGEXP);
    Matcher matcher = pattern.matcher(parameterValue);
    if (!(parameterValue.matches(CATALOG_OBJECT_MODEL_REGEXP) && matcher.find())) {
        throw new ValidationException("Expected value should match regular expression " + pattern.pattern() +
                                      " , received " + parameterValue);
    }
    return parameterValue;
}
 
@Override
public PolicyError validate(String username, String password) {
    Pattern pattern = context.getRealm().getPasswordPolicy().getPolicyConfig(RegexPatternsPasswordPolicyProviderFactory.ID);
    Matcher matcher = pattern.matcher(password);
    if (!matcher.matches()) {
        return new PolicyError(ERROR_MESSAGE, pattern.pattern());
    }
    return null;
}
 
源代码15 项目: zap-extensions   文件: PopupMenuEvidence.java
private void addMenuItem(final Pattern pattern, final ExtensionSearch.Type type) {
    JMenuItem menuItem = new JMenuItem(pattern.pattern());
    menuItem.addActionListener(e -> extension.search(pattern, type));
    this.add(menuItem);
}
 
@Nullable
static String patternToString(@Nullable Pattern p) {
    return p == null ? null : p.pattern();
}
 
public UrlFilteredHarEntriesSupplier(Har har, Pattern pattern) {
    super(har, new AssertionUrlFilterInfo(pattern.pattern()));
    this.pattern = pattern;
}
 
源代码18 项目: Hyperium   文件: PatternAdapter.java
@Override
public JsonElement serialize(Pattern src) {
    return new JsonPrimitive(src.pattern());
}
 
源代码19 项目: lams   文件: PatternEditor.java
@Override
public String getAsText() {
	Pattern value = (Pattern) getValue();
	return (value != null ? value.pattern() : "");
}
 
源代码20 项目: consulo   文件: UsageViewPresentation.java
public static int getHashCode(Pattern pattern) {
  if (pattern == null) return 0;
  String s = pattern.pattern();
  return (s != null ? s.hashCode() : 0) * 31 + pattern.flags();
}