public StringPatternExtractRule(Env env, String regex, Function<MatchResult, O> extractor, boolean addWordBoundaries) { this.extractor = extractor; if (addWordBoundaries) { regex = "\\b(?:" + regex + ")\\b"; } if (env != null) { pattern = env.getStringPattern(regex); } else { pattern = Pattern.compile(regex); } }
@Override public Value apply(Env env, List<Value> in) { if (in.get(0) == null || in.get(0).get() == null) return Expressions.FALSE; String str = (String) in.get(0).get(); String regex = (String) in.get(1).get(); Pattern pattern = env.getStringPattern(regex); Matcher matcher = pattern.matcher(str); boolean matches = matcher.matches(); return (matches)? Expressions.TRUE: Expressions.FALSE; } };
@Override public Value apply(Env env, List<Value> in) { if (in.get(0) == null || in.get(0).get() == null) return Expressions.FALSE; String str = (String) in.get(0).get(); String replacement = (String) in.get(2).get(); String regex = (String) in.get(1).get(); Pattern pattern = env.getStringPattern(regex); Matcher matcher = pattern.matcher(str); String replaced = matcher.replaceAll(replacement); return new Expressions.PrimitiveValue(Expressions.TYPE_STRING, replaced); } };
@Override public Value apply(Env env, List<Value> in) { CoreMap cm = (CoreMap) in.get(0).get(); String regex = (String) in.get(1).get(); Boolean includeMatchedAsTokens = (Boolean) in.get(2).get(); Pattern pattern = env.getStringPattern(regex); List<CoreLabel> res = ChunkAnnotationUtils.splitCoreMap(pattern, includeMatchedAsTokens, cm, CORELABEL_FACTORY); return new Expressions.PrimitiveValue(Expressions.TYPE_TOKENS, res); } };
protected static void updateExtractRule(AnnotationExtractRule r, Env env, String expr, Expression action, Expression result) { final MatchedExpression.SingleAnnotationExtractor annotationExtractor = createAnnotationExtractor(env, r); Pattern pattern = env.getStringPattern(expr); StringMatchResultExtractor valueExtractor = new StringMatchResultExtractor(env, action, result); StringPatternExtractRule<Value> valueExtractRule = new StringPatternExtractRule<>(pattern, valueExtractor); StringMatchedExpressionExtractor exprExtractor = new StringMatchedExpressionExtractor( annotationExtractor, r.matchedExpressionGroup ); StringPatternExtractRule<MatchedExpression> exprExtractRule = new StringPatternExtractRule<>(pattern, exprExtractor); annotationExtractor.valueExtractor = new CoreMapFunctionApplier<>(env, r.annotationField, valueExtractRule); r.extractRule = new CoreMapExtractRule<>(env, r.annotationField, exprExtractRule); r.filterRule = new AnnotationMatchedFilter(annotationExtractor); r.pattern = pattern; r.result = result; }
public StringPatternExtractRule(Env env, String regex, Function<MatchResult, O> extractor, boolean addWordBoundaries) { this.extractor = extractor; if (addWordBoundaries) { regex = "\\b(?:" + regex + ")\\b"; } if (env != null) { pattern = env.getStringPattern(regex); } else { pattern = Pattern.compile(regex); } }
public StringPatternExtractRule(Env env, String regex, Function<MatchResult, O> extractor, boolean addWordBoundaries) { this.extractor = extractor; if (addWordBoundaries) { regex = "\\b(?:" + regex + ")\\b"; } if (env != null) { pattern = env.getStringPattern(regex); } else { pattern = Pattern.compile(regex); } }
public StringPatternExtractRule(Env env, String regex, Function<MatchResult, O> extractor, boolean addWordBoundaries) { this.extractor = extractor; if (addWordBoundaries) { regex = "\\b" + regex + "\\b"; } if (env != null) { pattern = env.getStringPattern(regex); } else { pattern = Pattern.compile(regex); } }
@Override public Value apply(Env env, List<Value> in) { if (in.get(0) == null || in.get(0).get() == null) return Expressions.FALSE; String str = (String) in.get(0).get(); String regex = (String) in.get(1).get(); Pattern pattern = env.getStringPattern(regex); Matcher matcher = pattern.matcher(str); boolean matches = matcher.matches(); return (matches)? Expressions.TRUE: Expressions.FALSE; } };
@Override public Value apply(Env env, List<Value> in) { if (in.get(0) == null || in.get(0).get() == null) return Expressions.FALSE; String str = (String) in.get(0).get(); String regex = (String) in.get(1).get(); Pattern pattern = env.getStringPattern(regex); Matcher matcher = pattern.matcher(str); boolean matches = matcher.matches(); return (matches)? Expressions.TRUE: Expressions.FALSE; } };
@Override public Value apply(Env env, List<Value> in) { if (in.get(0) == null || in.get(0).get() == null) return Expressions.FALSE; String str = (String) in.get(0).get(); String regex = (String) in.get(1).get(); Pattern pattern = env.getStringPattern(regex); Matcher matcher = pattern.matcher(str); boolean matches = matcher.matches(); return (matches)? Expressions.TRUE: Expressions.FALSE; } };
@Override public Value apply(Env env, List<Value> in) { if (in.get(0) == null || in.get(0).get() == null) return Expressions.FALSE; String str = (String) in.get(0).get(); String replacement = (String) in.get(2).get(); String regex = (String) in.get(1).get(); Pattern pattern = env.getStringPattern(regex); Matcher matcher = pattern.matcher(str); String replaced = matcher.replaceAll(replacement); return new Expressions.PrimitiveValue(Expressions.TYPE_STRING, replaced); } };
@Override public Value apply(Env env, List<Value> in) { if (in.get(0) == null || in.get(0).get() == null) return Expressions.FALSE; String str = (String) in.get(0).get(); String replacement = (String) in.get(2).get(); String regex = (String) in.get(1).get(); Pattern pattern = env.getStringPattern(regex); Matcher matcher = pattern.matcher(str); String replaced = matcher.replaceAll(replacement); return new Expressions.PrimitiveValue(Expressions.TYPE_STRING, replaced); } };
@Override public Value apply(Env env, List<Value> in) { if (in.get(0) == null || in.get(0).get() == null) return Expressions.FALSE; String str = (String) in.get(0).get(); String replacement = (String) in.get(2).get(); String regex = (String) in.get(1).get(); Pattern pattern = env.getStringPattern(regex); Matcher matcher = pattern.matcher(str); String replaced = matcher.replaceAll(replacement); return new Expressions.PrimitiveValue(Expressions.TYPE_STRING, replaced); } };
@Override public Value apply(Env env, List<Value> in) { CoreMap cm = (CoreMap) in.get(0).get(); String regex = (String) in.get(1).get(); Boolean includeMatchedAsTokens = (Boolean) in.get(2).get(); Pattern pattern = env.getStringPattern(regex); List<CoreLabel> res = ChunkAnnotationUtils.splitCoreMap(pattern, includeMatchedAsTokens, cm, CORELABEL_FACTORY); return new Expressions.PrimitiveValue(Expressions.TYPE_TOKENS, res); } };
@Override public Value apply(Env env, List<Value> in) { CoreMap cm = (CoreMap) in.get(0).get(); String regex = (String) in.get(1).get(); Boolean includeMatchedAsTokens = (Boolean) in.get(2).get(); Pattern pattern = env.getStringPattern(regex); List<CoreLabel> res = ChunkAnnotationUtils.splitCoreMap(pattern, includeMatchedAsTokens, cm, CORELABEL_FACTORY); return new Expressions.PrimitiveValue(Expressions.TYPE_TOKENS, res); } };
@Override public Value apply(Env env, List<Value> in) { CoreMap cm = (CoreMap) in.get(0).get(); String regex = (String) in.get(1).get(); Boolean includeMatchedAsTokens = (Boolean) in.get(2).get(); Pattern pattern = env.getStringPattern(regex); List<CoreLabel> res = ChunkAnnotationUtils.splitCoreMap(pattern, includeMatchedAsTokens, cm, CORELABEL_FACTORY); return new Expressions.PrimitiveValue(Expressions.TYPE_TOKENS, res); } };
protected static void updateExtractRule(AnnotationExtractRule r, Env env, String expr, Expression action, Expression result) { final MatchedExpression.SingleAnnotationExtractor annotationExtractor = createAnnotationExtractor(env, r); Pattern pattern = env.getStringPattern(expr); StringMatchResultExtractor valueExtractor = new StringMatchResultExtractor(env, action, result); StringPatternExtractRule<Value> valueExtractRule = new StringPatternExtractRule<>(pattern, valueExtractor); StringMatchedExpressionExtractor exprExtractor = new StringMatchedExpressionExtractor( annotationExtractor, r.matchedExpressionGroup ); StringPatternExtractRule<MatchedExpression> exprExtractRule = new StringPatternExtractRule<>(pattern, exprExtractor); annotationExtractor.valueExtractor = new CoreMapFunctionApplier<>(env, r.annotationField, valueExtractRule); r.extractRule = new CoreMapExtractRule<>(env, r.annotationField, exprExtractRule); r.filterRule = new AnnotationMatchedFilter(annotationExtractor); r.pattern = pattern; r.result = result; }
protected static void updateExtractRule(AnnotationExtractRule r, Env env, String expr, Expression action, Expression result) { final MatchedExpression.SingleAnnotationExtractor annotationExtractor = createAnnotationExtractor(env, r); Pattern pattern = env.getStringPattern(expr); StringMatchResultExtractor valueExtractor = new StringMatchResultExtractor(env, action, result); StringPatternExtractRule<Value> valueExtractRule = new StringPatternExtractRule<>(pattern, valueExtractor); StringMatchedExpressionExtractor exprExtractor = new StringMatchedExpressionExtractor( annotationExtractor, r.matchedExpressionGroup ); StringPatternExtractRule<MatchedExpression> exprExtractRule = new StringPatternExtractRule<>(pattern, exprExtractor); annotationExtractor.valueExtractor = new CoreMapFunctionApplier<>(env, r.annotationField, valueExtractRule); r.extractRule = new CoreMapExtractRule<>(env, r.annotationField, exprExtractRule); r.filterRule = new AnnotationMatchedFilter(annotationExtractor); r.pattern = pattern; r.result = result; }
protected void updateExtractRule(AnnotationExtractRule r, Env env, String expr, Expression action, Expression result) { final MatchedExpression.SingleAnnotationExtractor valueExtractor = createAnnotationExtractor(env, r); Pattern pattern = env.getStringPattern(expr); valueExtractor.valueExtractor = new CoreMapFunctionApplier< String, Value >( env, r.annotationField, new StringPatternExtractRule<Value>( pattern, new StringMatchResultExtractor(env, action, result))); r.extractRule = new CoreMapExtractRule< String, MatchedExpression >( env, r.annotationField, new StringPatternExtractRule<MatchedExpression>(pattern, new StringMatchedExpressionExtractor( valueExtractor, r.matchedExpressionGroup))); r.filterRule = new AnnotationMatchedFilter(valueExtractor); }