Estoy tratando de usar expresiones regulares de Java para que coincida con un patrón que abarca varias líneas. El patrón tiene una línea que comienza con 'A' seguido de exactamente 50 caracteres y luego una o más líneas que comienzan con 'B' seguido de exactamente 50 caracteres:Expresión regular de Java para buscar varias líneas de una longitud específica
A... // exactly 50 chars after the A
B...
B...
no parecen Java expresiones regulares para apoyar esto sin embargo.
Aquí es una expresión regular que funciona para una A y una línea B:
A.{50}[\\n[\\n\\r]]B.{50}[\\n[\\n\\r]]
aquí es la misma expresión regular modificado para encontrar una o más líneas B:
A.{50}[\\n[\\n\\r]][B.{50}[\\n[\\n\\r]]]+
Esta expresión regular sólo encuentra el personaje principal B en la primera línea B, sin embargo.
Utilizo [\\n[\\r\\n]]
para manejar nuevas líneas de DOS y UNIX. Activar el modo MULTILINE no afecta los resultados.
El problema parece ser cuando uso los corchetes con '+' para convertir la expresión regular de una línea B en una clase de caracteres que puede capturar varias líneas.
¿Hay algo sobre expresiones regulares de Java que no permita el '.' carácter o los corchetes para especificar una longitud de línea exacta?
Hay una línea A con 50 caracteres siguiendo la 'A', luego varias líneas B con 50 caracteres siguiendo la 'B' inicial. stackoverflow no conservó las líneas nuevas entre las líneas A y B que mostré arriba. –