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

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

源代码1 项目: caja   文件: RegularCriterion.java
static RegularCriterion fromPattern(String regex) {
  final Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
  return new RegularCriterion() {
    public String toRegularExpression() {
      StringBuilder sb = new StringBuilder();
      sb.append('/');
      Escaping.normalizeRegex(p.pattern(), sb);
      sb.append('/');
      if ((p.flags() & Pattern.CASE_INSENSITIVE) != 0) { sb.append('i'); }
      return sb.toString();
    }

    public boolean accept(String candidate) {
      return p.matcher(candidate).find();
    }
  };
}
 
源代码2 项目: BungeeChat2   文件: RegexReplacer.java
public RegexReplacer(Pattern pattern, String replacement) {
  patternStr = pattern.pattern();
  this.pattern = pattern;
  this.replacement = replacement;

  defaultFlags = pattern.flags();
  patternCache = new HashMap<>();

  patternCache.put(defaultFlags, pattern);
}
 
源代码3 项目: GeoTriples   文件: Filter.java
public static IdentifierMatcher createPatternMatcher(final Pattern pattern) {
	return new IdentifierMatcher() {
		public boolean matches(String identifier) {
			if (identifier == null) return false;
			return pattern.matcher(identifier).matches();
		}
		public String toString() {
			return "/" + pattern.pattern() + "/" + pattern.flags();
		}
		public String getSingleString() {
			return null;
		}
	};
}
 
源代码4 项目: ghidra   文件: AbstractPatternTextFilter.java
private int getPatternFlags(Pattern p) {
	return p == null ? -1 : p.flags();
}
 
源代码5 项目: hbase   文件: TestSingleColumnValueFilter.java
private Filter regexFilterNew(Pattern pattern) {
  return new SingleColumnValueFilter(COLUMN_FAMILY, COLUMN_QUALIFIER,
  CompareOperator.EQUAL,
      new RegexStringComparator(pattern.pattern(), pattern.flags()));
}
 
源代码6 项目: RADL   文件: JavaCode.java
private boolean isSingleLinePattern(Pattern pattern) {
  return (pattern.flags() & Pattern.MULTILINE) == 0;
}
 
/**
 * Converts the {@link Pattern#flags() pattern flags} into a options value.
 * <p>
 * Note that the {@link #VERBOSE} and {@link #LOCALE_DEPENDENT} do not have
 * {@link Pattern} equivalent flags.
 * </p>
 * <p>
 * <blockquote>
 *
 * <pre>
 * {@link Pattern#CASE_INSENSITIVE} ==> {@link #CASE_INSENSITIVE}
 * {@link Pattern#MULTILINE} ==> {@link #MULTILINE}
 * {@link Pattern#DOTALL} ==> {@link #DOT_ALL}
 * {@link Pattern#UNICODE_CHARACTER_CLASS} ==> {@link #UNICODE}
 * </pre>
 *
 * </blockquote>
 *
 * @param pattern
 *            The pattern to extract the options from.
 * @return The options integer value.
 */
protected static int optionsAsInt(final Pattern pattern) {
    int optInt = 0;

    if (pattern != null) {
        final int flags = pattern.flags();
        if ((flags & Pattern.CASE_INSENSITIVE) == Pattern.CASE_INSENSITIVE) {
            optInt |= CASE_INSENSITIVE;
        }
        if ((flags & Pattern.MULTILINE) == Pattern.MULTILINE) {
            optInt |= MULTILINE;
        }
        if ((flags & Pattern.DOTALL) == Pattern.DOTALL) {
            optInt |= DOT_ALL;
        }
        if ((flags & PATTERN_UNICODE) == PATTERN_UNICODE) {
            optInt |= UNICODE;
        }
    }

    return optInt;
}
 
源代码8 项目: consulo   文件: UsageViewPresentation.java
public static boolean arePatternsEqual(Pattern p1, Pattern p2) {
  if (p1 == null) return p2 == null;
  if (p2 == null) return false;
  return Comparing.equal(p1.pattern(), p2.pattern()) && p1.flags() == p2.flags();
}
 
源代码9 项目: 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();
}