Regex.Pattern de Java soporta la siguiente clase de caracteres:¿Cuál es el punto detrás de las intersecciones de clases de caracteres en Regex de Java?
[a-z&&[def]]
que coincide con "D, E o F" y que se llama una intersección.
Funcionalmente esto no es diferente de:
[def]
que es más fácil de leer y entender en una gran RE. Entonces mi pregunta es, ¿de qué sirven las intersecciones, aparte de especificar un soporte completo para las operaciones de tipo CSG en las clases de caracteres?
(por favor, yo entiendo la utilidad de sustracciones como [a-z&&[^bc]]
y [a-z&&[^m-p]]
, estoy pidiendo específicamente sobre las intersecciones según lo indicado supra.)
Quizás, pero el resultado de la RE anterior no es diferente de [\ p {Lower}], ya que \ p {Lower} por definición es solo letras minúsculas en su alfabeto predeterminado. Si su alfabeto predeterminado no es latino, ese RE de hecho no coincidirá con nada. – Christopher
Cambió \ p {Lower} a \ p {Ll} para evitar el problema del alfabeto predeterminado. – iammichael