regulares probar expresiones ejemplos crear basicas regex caret

regex - probar - Caretas en expresiones regulares



expresiones regulares java (1)

Específicamente, ¿cuándo ^ significa "coincidencia de inicio" y cuándo significa "no lo siguiente" en expresiones regulares?

A partir del artículo de Wikipedia y otras referencias, he llegado a la conclusión de que significa el primero al principio y el segundo cuando se usa entre paréntesis, pero ¿cómo maneja el programa el caso en el que el caret se encuentra al comienzo y al soporte? ¿Qué hace, digamos, ^[bd]t$ match?


^ solo significa "no lo siguiente" cuando está dentro y al comienzo de [] , entonces [^...] .

Cuando está dentro de [] pero no al principio, significa el carácter ^ real.

Cuando se escapa ( /^ ), también significa el carácter ^ real.

En todos los demás casos, significa el inicio de la cadena / línea (cuál depende del idioma / configuración).

Así que en resumen:

  • [^abc] -> no a, b o c
  • [ab^cd] -> a, b, ^ (carácter), c o d
  • /^ -> un carácter ^
  • En cualquier otro lugar -> comienzo de cadena / línea.

Entonces ^[bd]t$ significa:

  • Comienzo de linea
  • b / c / d caracter
  • t carácter
  • Fin de la línea