Fix error message for invalid regex in SpEL

Closes gh-36756
This commit is contained in:
Sam Brannen
2026-05-06 13:53:37 +02:00
parent ec21dc0f91
commit 987d6cca6d
2 changed files with 3 additions and 3 deletions
@@ -117,7 +117,7 @@ public class OperatorMatches extends Operator {
private void checkRegexLength(String regex) { private void checkRegexLength(String regex) {
if (regex.length() > MAX_REGEX_LENGTH) { if (regex.length() > MAX_REGEX_LENGTH) {
throw new SpelEvaluationException(getStartPosition(), throw new SpelEvaluationException(getRightOperand().getStartPosition(),
SpelMessage.MAX_REGEX_LENGTH_EXCEEDED, MAX_REGEX_LENGTH); SpelMessage.MAX_REGEX_LENGTH_EXCEEDED, MAX_REGEX_LENGTH);
} }
} }
@@ -534,7 +534,7 @@ class EvaluationTests extends AbstractExpressionTests {
void matchesWithPatternAccessThreshold() { void matchesWithPatternAccessThreshold() {
String pattern = "^(?=[a-z0-9-]{1,47})([a-z0-9]+[-]{0,1}){1,47}[a-z0-9]{1}$"; String pattern = "^(?=[a-z0-9-]{1,47})([a-z0-9]+[-]{0,1}){1,47}[a-z0-9]{1}$";
String expression = "'abcde-fghijklmn-o42pasdfasdfasdf.qrstuvwxyz10x.xx.yyy.zasdfasfd' matches '" + pattern + "'"; String expression = "'abcde-fghijklmn-o42pasdfasdfasdf.qrstuvwxyz10x.xx.yyy.zasdfasfd' matches '" + pattern + "'";
evaluateAndCheckError(expression, SpelMessage.FLAWED_PATTERN); evaluateAndCheckError(expression, SpelMessage.FLAWED_PATTERN, 74);
} }
@Test @Test
@@ -546,7 +546,7 @@ class EvaluationTests extends AbstractExpressionTests {
pattern += "?"; pattern += "?";
assertThat(pattern).hasSize(1001); assertThat(pattern).hasSize(1001);
evaluateAndCheckError("'X' matches '" + pattern + "'", Boolean.class, SpelMessage.MAX_REGEX_LENGTH_EXCEEDED); evaluateAndCheckError("'X' matches '" + pattern + "'", Boolean.class, SpelMessage.MAX_REGEX_LENGTH_EXCEEDED, 12);
} }
@Test @Test