languagetool-org/languagetool · error · RuntimeException
Invalid syntax for key/value, expected 'key:value', got: '${
Error message
Invalid syntax for key/value, expected 'key:value', got: '${arg}' What it means
Argument-parsing guard in RegexRuleFilterEvaluator.getResolvedArguments: while splitting the filter's args attribute on whitespace, a token was found that does not contain the 'key:value' separator, so it cannot be turned into a filter argument. The faulty input is the args string of the <filter> element, which must be a space-separated list of key:value pairs.
Source
Thrown at languagetool-core/src/main/java/org/languagetool/rules/patterns/RegexRuleFilterEvaluator.java:53
private final RegexRuleFilter filter;
public RegexRuleFilterEvaluator(RegexRuleFilter filter) {
this.filter = filter;
}
@Nullable
public RuleMatch runFilter(String filterArgs, RuleMatch ruleMatch, AnalyzedSentence sentenceObj, Matcher patternMatcher) {
Map<String,String> args = getResolvedArguments(filterArgs);
return filter.acceptRuleMatch(ruleMatch, args, sentenceObj, patternMatcher);
}
private Map<String,String> getResolvedArguments(String filterArgs) {
Map<String,String> result = new HashMap<>();
String[] arguments = filterArgs.split("\\s+");
for (String arg : arguments) {
int delimPos = arg.indexOf(':');
if (delimPos == -1) {
throw new RuntimeException("Invalid syntax for key/value, expected 'key:value', got: '" + arg + "'");
}
String key = arg.substring(0, delimPos);
String val = arg.substring(delimPos + 1);
result.put(key, val);
}
return result;
}
}
View on GitHub (pinned to 2e990059ce)
Solutions
- Write the filter arguments as key:value pairs separated by spaces, e.g. args="antiPatterns:foo|bar caseSensitive:yes"
- Add the missing colon to the argument token reported in the exception
- Remove stray whitespace-only or malformed tokens from the args attribute
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at languagetool-core/src/main/java/org/languagetool/rules/patterns/RegexRuleFilterEvaluator.java:53 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of languagetool-org/languagetool@2e990059ce (2026-09-06).
Data as JSON: /api/errors/d867a99bf498e2a2.
Report an issue: GitHub.