Error en la validation de la expresión regular de la matrícula del automobile

Estoy ejecutando la siguiente testing para validar la matrícula de un automobile. ¿Qué estoy haciendo mal?

testValido de retorno inválido

TestValid return success

@Test fun testInvalid() { val value = "ABC12345" val pattern = Pattern.compile("[AZ]{3}[0-9]{4}") val matcher = pattern.matcher(value) val found = matcher.find() System.out.print("$value is valid: $found") Assert.assertFalse(found) } @Test fun testValid() { val value = "ABC1234" val pattern = Pattern.compile("[AZ]{3}[0-9]{4}") val matcher = pattern.matcher(value) val found = matcher.find() System.out.print("$value is valid: $found") Assert.assertTrue(found) } 

Necesita usar el carácter $ al final de regEx para indicar el final:

 @Test fun testInvalid() { val value = "ABC12345" val pattern = Pattern.compile("[AZ]{3}[0-9]{4}$") val matcher = pattern.matcher(value) val found = matcher.find() System.out.print("$value is valid: $found") Assert.assertFalse(found) } @Test fun testValid() { val value = "ABC1234" val pattern = Pattern.compile("[AZ]{3}[0-9]{4}$") val matcher = pattern.matcher(value) val found = matcher.find() System.out.print("$value is valid: $found") Assert.assertTrue(found) } 
  • Regex: coincide con palabras que no son cadenas
  • Diseño de expresiones regulares multilínea
  • Regex para encontrar palabras completas
  • groupValues ​​solo devuelve la última aparición de patrón repetitivo