import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(\\d+\\W+\\w+-\\d+)\\W+(\\w+-\\w+)\\W.*";
final String string = "46427 MXSLBIONBO-70 dossier-service - Servicios Rest - Springboot- La URI a nivel de entidad de negocio, ser√° siempre un sustantivo plural.\n"
+ "47926 MXSLBIONBO-114 selfie-service-- Generales- ¬øNo se suprimen o ignoran Excepciones?\n"
+ "47923 MXSLBIONBO-111 importer-service - Generales- ¬øNo se suprimen o ignoran Excepciones?\n"
+ "45745 MXSLBIONBO-12 cipher-service- Servicios Rest - Springboot- Al manejar una excepción, si se crea una nueva excepción, la excepción cachada no deben enviarse al log.\n"
+ "44879 MXSLBIONBO-22 video-service-Generales- ¿La documentación es descriptiva?\n"
+ "47928 MXSLBIONBO-116 video-service-Generales- ¿La documentación es descriptiva?\n"
+ "44881 MXSLBIONBO-24 video-service- Servicios Rest - Springboot- Al manejar una excepción, si se crea una nueva excepción, la excepción cachada no deben enviarse al log.\n"
+ "45744 MXSLBIONBO-11 cipher-service-Generales- ¬øNo se suprimen o ignoran Excepciones?\n"
+ "47919 MXSLBIONBO-107 gateway-chunk - Generales- ¬øNo se suprimen o ignoran Excepciones?,\n"
+ "46422 MXSLBIONBO-65 importer-service - Servicios Rest - Springboot- Debe implementar la interfaz “java.io.Serializable”.\n"
+ "47912 MXSLBIONBO-100 cipher-service- Generales- ¿Las clases tienen alta cohesión y bajo acoplamiento?\n"
+ "47908 MXSLBIONBO-96 cipher-service- Servicios Rest - Springboot- Debe implementar la interfaz “java.io.Serializable”.\n"
+ "46426 MXSLBIONBO-69 dossier-service - Servicios Rest - Springboot- Debe implementar la interfaz “java.io.Serializable”.\n"
+ "46408 MXSLBIONBO-51 persistence-service - Servicios Rest - Springboot- Debe implementar la interfaz “java.io.Serializable”.\n"
+ "46402 MXSLBIONBO-45 persistence-service-Generales- ¿La documentación es descriptiva?\n"
+ "46423 MXSLBIONBO-66 dossier-service-Generales- ¿La documentación es descriptiva?\n"
+ "46431 MXSLBIONBO-74 document-service- Servicios Rest - Springboot- Al manejar una excepción, si se crea una nueva excepción, se le debe de enviar la excepción cachada.\n"
+ "44880 MXSLBIONBO-23 video-service- Servicios Rest - Springboot- Al manejar una excepción, si se crea una nueva excepción, se le debe de enviar la excepción cachada.\n"
+ "46716 MXSLBIONBO-78 selfie-service- Servicios Rest - Springboot- Al manejar una excepción, si se crea una nueva excepción, se le debe de enviar la excepción cachada.\n"
+ "45746 MXSLBIONBO-13 cipher-service- Generales - ¬øLos recursos son liberados dentro de un bloque finally?\n"
+ "46432 MXSLBIONBO-75 cipher-service-Servicios Rest - Springboot- No se debe atrapar o lanzar excepciones genéricas (Throwable, Exception, o RuntimeException).\n"
+ "46421 MXSLBIONBO-64 importer-service - Servicios Rest - Springboot- Deberán estar contenidos en un paquete “model”.\n"
+ "46715 MXSLBIONBO-77 selfie-service-Generales- ¿La documentación es descriptiva?\n"
+ "45747 MXSLBIONBO-14 document-service-Generales- ¿La documentación es descriptiva?\n"
+ "44889 MXSLBIONBO-32 selfie-service-Generales- ¿La documentación es descriptiva?\n"
+ "46417 MXSLBIONBO-60 importer-service -Generales- ¬øLos recursos son liberados dentro de un bloque finally?\n"
+ "45737 MXSLBIONBO-4 cipher-service-Generales- ¿La documentación es descriptiva?\n"
+ "47927 MXSLBIONBO-115 persistence-service-Generales- ¿La documentación es descriptiva?\n"
+ "47925 MXSLBIONBO-113 selfie-service-Servicios Rest - Springboot- No se debe atrapar o lanzar excepciones genéricas (Throwable, Exception, o RuntimeException).\n"
+ "47924 MXSLBIONBO-112 persistence-service-Generales- ¿La documentación es descriptiva?\n"
+ "47922 MXSLBIONBO-110 importer-service-Servicios Rest - Springboot- No se debe atrapar o lanzar excepciones genéricas (Throwable, Exception, o RuntimeException).\n"
+ "47921 MXSLBIONBO-109 importer-service-Generales- ¿La documentación es descriptiva?\n"
+ "47920 MXSLBIONBO-108 gateway-chunk-service- Servicios Rest - Springboot- No se debe atrapar o lanzar excepciones genéricas (Throwable, Exception, o RuntimeException).\n"
+ "47918 MXSLBIONBO-106 gateway-chunk-service-Generales- ¿La documentación es descriptiva?\n"
+ "47917 MXSLBIONBO-105 cipher-service- Servicios Rest - Springboot- Al manejar una excepción, si se crea una nueva excepción, la excepción cachada no deben enviarse al log.\n"
+ "47916 MXSLBIONBO-104 cipher-service- Generales- ¬øNo se implementan cosas fuera de su capa?\n"
+ "47915 MXSLBIONBO-103 cipher-service- Servicios Rest - Springboot- El acceso a cualquier origen de datos, como pueden ser bases de datos, colas, llamados a otros WS, Archivos, etc., debe estar en esta capa.\n"
+ "47914 MXSLBIONBO-102 cipher-service- Servicios Rest - Springboot- La URI a nivel de entidad de negocio, ser√° siempre un sustantivo plural.\n"
+ "47913 MXSLBIONBO-101 cipher-service- Servicios Rest - Springboot- URI’s definidas en minúsculas y con notación snake_case.\n"
+ "47911 MXSLBIONBO-99 cipher-service- Generales- ¬øNo se suprimen o ignoran Excepciones?\n"
+ "47910 MXSLBIONBO-98 cipher-service- Servicios Rest - Springboot- No se debe atrapar o lanzar excepciones genéricas (Throwable, Exception, o RuntimeException).\n"
+ "47909 MXSLBIONBO-97 cipher-service- Servicios Rest - Springboot- Al manejar una excepción, si se crea una nueva excepción, se le debe de enviar la excepción cachada.”.\n"
+ "47907 MXSLBIONBO-95 cipher-service- Servicios Rest - Springboot- Deberán estar contenidos en un paquete “model”.\n"
+ "47906 MXSLBIONBO-94 cipher-service-Generales- ¿La documentación es descriptiva?\n"
+ "47905 MXSLBIONBO-93 cipher-service-Generales- ¬øLos recursos son liberados dentro de un bloque finally?\n"
+ "47904 MXSLBIONBO-92 bioonboarding-web-Angular 2+- El almacenamiento local, llamadas de servicios remotos (rest, soap, etc.), debe de quedar en servicios.\n"
+ "47903 MXSLBIONBO-91 bioonboarding-web-Angular 2+- ¿La documentación es descriptiva?\n"
+ "46410 MXSLBIONBO-53 persistence-service - Servicios Rest - Springboot- URI’s definidas en minúsculas y con notación snake_case.\n"
+ "47158 MXSLBIONBO-90 gateway-chunk-service- Servicios Rest - Springboot- Se deberá de realizar la definición de un @ExceptionHandler general.\n"
+ "47157 MXSLBIONBO-89 gateway-chunk-service-Generales- ¬øNo se implementan cosas fuera de su capa?\n"
+ "47156 MXSLBIONBO-88 gateway-chunk-service- Servicios Rest - Springboot- La URI a nivel de entidad de negocio, ser√° siempre un sustantivo plural.\n"
+ "47155 MXSLBIONBO-87 gateway-chunk-service- Servicios Rest - Springboot- Debe implementar la interfaz “java.io.Serializable”.\n"
+ "47154 MXSLBIONBO-86 gateway-chunk-service- Servicios Rest - Springboot- Deberán estar contenidos en un paquete “model”.\n"
+ "47153 MXSLBIONBO-85 gateway-chunk-service-Generales- ¬øNo se suprimen o ignoran Excepciones?\n"
+ "47152 MXSLBIONBO-84 gateway-chunk-service-Generales- ¿La documentación es descriptiva?\n"
+ "46717 MXSLBIONBO-79 video-service- Servicios Rest - Springboot- Al manejar una excepción, si se crea una nueva excepción, la excepción cachada no deben enviarse al log.\n"
+ "46718 MXSLBIONBO-80 bioonboarding-web- Angular 2+- El nombre de los archivos deberá seguir la convención: modulo.tipo.ts.\n"
+ "46719 MXSLBIONBO-81 bioonboarding-web- Angular 2+- Existe un módulo principal de la aplicación, y módulos por cada funcionalidad, ocupando un folder por modulo.\n"
+ "46720 MXSLBIONBO-82 bioonboarding-web- Angular 2+- Documentación\n"
+ "46721 MXSLBIONBO-83 bioonboarding-web- Angular 2+- El almacenamiento local, llamadas de servicios remotos (rest, soap, etc.), debe de quedar en servicios.\n"
+ "46714 MXSLBIONBO-76 selfie-service-Generales- ¬øNo se suprimen o ignoran Excepciones?\n"
+ "44887 MXSLBIONBO-30 video-service- Servicios Rest - Springboot- URI’s definidas en minúsculas y con notación snake_case.\n"
+ "44886 MXSLBIONBO-29 video-service- Servicios Rest - Springboot- La URI a nivel de entidad de negocio, ser√° siempre un sustantivo plural.\n"
+ "44882 MXSLBIONBO-25 video-service -Generales- ¿Las clases tienen alta cohesión y bajo acoplamiento?\n"
+ "46430 MXSLBIONBO-73 document-service- Servicios Rest - Springboot- Al manejar una excepción, si se crea una nueva excepción, la excepción cachada no deben enviarse al log.\n"
+ "46429 MXSLBIONBO-72 dossier-service - Servicios Rest - Springboot- Se deberá de realizar la definición de un @ExceptionHandler general.\n"
+ "46428 MXSLBIONBO-71 dossier-service - Servicios Rest - Springboot- URI’s definidas en minúsculas y con notación snake_case.\n"
+ "46427 MXSLBIONBO-70 dossier-service - Servicios Rest - Springboot- La URI a nivel de entidad de negocio, ser√° siempre un sustantivo plural.\n"
+ "46425 MXSLBIONBO-68 dossier-service - Servicios Rest - Springboot- Deberán estar contenidos en un paquete “model”.\n"
+ "46424 MXSLBIONBO-67 dossier-service- Servicios Rest - Springboot- Al manejar una excepción, si se crea una nueva excepción, se le debe de enviar la excepción cachada.\n"
+ "46420 MXSLBIONBO-63 importer-service - Servicios Rest - Springboot- Debe usar SLF4J como framework de loggin\n"
+ "46419 MXSLBIONBO-62 importer-service - Servicios Rest - Springboot- Al manejar una excepción, si se crea una nueva excepción, se le debe de enviar la excepción cachada.\n"
+ "46418 MXSLBIONBO-61 importer-service - Servicios Rest - Springboot- Al manejar una excepción, si se crea una nueva excepción, la excepción cachada no deben enviarse al log.\n"
+ "46416 MXSLBIONBO-59 importer-service -Generales- ¬øNo se suprimen o ignoran Excepciones?\n"
+ "46415 MXSLBIONBO-58 importer-service-Servicios Rest - Springboot- No se debe atrapar o lanzar excepciones genéricas (Throwable, Exception, o RuntimeException).\n"
+ "46414 MXSLBIONBO-57 importer-service - Servicios Rest - Springboot- Las excepciones deber√°n de ser controladas de forma independiente en cada una de las capas y no deber√°n de ser propagadas directamente a capas superiores.\n"
+ "46413 MXSLBIONBO-56 importer-service -Generales- ¿Las clases tienen alta cohesión y bajo acoplamiento?\n"
+ "46411 MXSLBIONBO-54 persistence-service - Servicios Rest - Springboot- Se deberá de realizar la definición de un @ExceptionHandler general.\n"
+ "46409 MXSLBIONBO-52 persistence-service - Servicios Rest - Springboot- La URI a nivel de entidad de negocio, ser√° siempre un sustantivo plural.\n"
+ "46407 MXSLBIONBO-50 persistence-service - Servicios Rest - Springboot- Deberán estar contenidos en un paquete “model”.\n"
+ "46406 MXSLBIONBO-49 persistence-service -Servicios Rest - Springboot- No se debe atrapar o lanzar excepciones genéricas (Throwable, Exception, o RuntimeException).\n"
+ "46405 MXSLBIONBO-48 persistence-service - Servicios Rest - Springboot- Al manejar una excepción, si se crea una nueva excepción, se le debe de enviar la excepción cachada.\n"
+ "46404 MXSLBIONBO-47 persistence-service - Servicios Rest - Springboot- Las excepciones deber√°n de ser controladas de forma independiente en cada una de las capas y no deber√°n de ser propagadas directamente a capas superiores.\n"
+ "46403 MXSLBIONBO-46 persistence-service-Generales- ¿Las clases tienen alta cohesión y bajo acoplamiento?\n"
+ "46401 MXSLBIONBO-44 selfie-service-Generales- ¬øNinguna sentencia SQL hace uso de select *?\n"
+ "46400 MXSLBIONBO-43 selfie-service-Generales- ¬øNo se suprimen o ignoran Excepciones?\n"
+ "44899 MXSLBIONBO-42 selfie-service - Servicios Rest - Springboot- Se deberá de realizar la definición de un @ExceptionHandler general.\n"
+ "44898 MXSLBIONBO-41 selfie-service - Servicios Rest - Springboot- URI’s definidas en minúsculas y con notación snake_case.\n"
+ "44897 MXSLBIONBO-40 selfie-service - Servicios Rest - Springboot- La URI a nivel de entidad de negocio, ser√° siempre un sustantivo plural.\n"
+ "44894 MXSLBIONBO-37 selfie-service-Servicios Rest - Springboot- No se debe atrapar o lanzar excepciones genéricas (Throwable, Exception, o RuntimeException).\n"
+ "44893 MXSLBIONBO-36 selfie-service-Servicios Rest - Springboot- Al manejar una excepción, si se crea una nueva excepción, la excepción cachada no deben enviarse al log.\n"
+ "44892 MXSLBIONBO-35 selfie-service - Servicios Rest - Springboot- Las excepciones deber√°n de ser controladas de forma independiente en cada una de las capas y no deber√°n de ser propagadas directamente a capas superiores.\n"
+ "44891 MXSLBIONBO-34 selfie-service-Generales- ¿Las clases tienen alta cohesión y bajo acoplamiento?\n"
+ "44890 MXSLBIONBO-33 selfie-service - Servicios Rest - Springboot- Al manejar una excepción, si se crea una nueva excepción, se le debe de enviar la excepción cachada.\n"
+ "44888 MXSLBIONBO-31 video-service- Servicios Rest - Springboot- Se deberá de realizar la definición de un @ExceptionHandler general.\n"
+ "45754 MXSLBIONBO-21 document-service - Servicios Rest - Springboot- Al manejar una excepción, si se crea una nueva excepción, la excepción cachada no deben enviarse al log.\n"
+ "45753 MXSLBIONBO-20 document-service - Generales- ¿Las clases tienen alta cohesión y bajo acoplamiento?\n"
+ "45752 MXSLBIONBO-19 document-service-Generales- ¬øNo se suprimen o ignoran Excepciones?\n"
+ "45751 MXSLBIONBO-18 document-service -Generales- ¿Las clases tienen alta cohesión y bajo acoplamiento?\n"
+ "45750 MXSLBIONBO-17 document-service - Servicios Rest - Springboot- Deberán estar contenidos en un paquete “model”.\n"
+ "45749 MXSLBIONBO-16 document-service - Servicios Rest - Springboot- Se deberá de realizar la definición de un @ExceptionHandler general.\n"
+ "45748 MXSLBIONBO-15 document-service - Servicios Rest - Springboot- La URI a nivel de entidad de negocio, ser√° siempre un sustantivo plural.\n"
+ "45743 MXSLBIONBO-10 cipher-service-Generales- ¿Las clases tienen alta cohesión y bajo acoplamiento?\n"
+ "45742 MXSLBIONBO-9 cipher-service- Servicios Rest - Springboot- Deberán estar contenidos en un paquete “model”.\n"
+ "45741 MXSLBIONBO-8 cipher-service- Servicios Rest - Springboot- Se deberá de realizar la definición de un @ExceptionHandler general.\n"
+ "45740 MXSLBIONBO-7 cipher-service- Servicios Rest - Springboot- La URI a nivel de entidad de negocio, ser√° siempre un sustantivo plural.\n"
+ "45739 MXSLBIONBO-6 cipher-service-Servicios Rest - Springboot- URI’s definidas en minúsculas y con notación snake_case.\n"
+ "45738 MXSLBIONBO-5 cipher-service-Servicios Rest - Springboot- Todos los endpoints REST deberán regresar un código HTTP";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html