Regular Expressions 101

Save & Manage Regex

  • Current Version: 1
  • Save & Share
  • Community Library

Flavor

  • PCRE2 (PHP)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java
  • .NET 7.0 (C#)
  • Rust
  • PCRE (Legacy)
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests
Sponsors
An explanation of your regex will be automatically generated as you type.
Detailed match information will be displayed here automatically.
  • All Tokens
  • Common Tokens
  • General Tokens
  • Anchors
  • Meta Sequences
  • Quantifiers
  • Group Constructs
  • Character Classes
  • Flags/Modifiers
  • Substitution
  • A single character of: a, b or c
    [abc]
  • A character except: a, b or c
    [^abc]
  • A character in the range: a-z
    [a-z]
  • A character not in the range: a-z
    [^a-z]
  • A character in the range: a-z or A-Z
    [a-zA-Z]
  • Any single character
    .
  • Alternate - match either a or b
    a|b
  • Any whitespace character
    \s
  • Any non-whitespace character
    \S
  • Any digit
    \d
  • Any non-digit
    \D
  • Any word character
    \w
  • Any non-word character
    \W
  • Non-capturing group
    (?:...)
  • Capturing group
    (...)
  • Zero or one of a
    a?
  • Zero or more of a
    a*
  • One or more of a
    a+
  • Exactly 3 of a
    a{3}
  • 3 or more of a
    a{3,}
  • Between 3 and 6 of a
    a{3,6}
  • Start of string
    ^
  • End of string
    $
  • A word boundary
    \b
  • Non-word boundary
    \B

Regular Expression
Processing...

Test String

Code Generator

Generated Code

import re regex = re.compile(r"(\d+\W+\w+-\d+)\W+(\w+-\w+)\W.*", flags=re.MULTILINE) test_str = ("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") matches = regex.finditer(test_str) for match_num, match in enumerate(matches, start=1): print(f"Match {match_num} was found at {match.start()}-{match.end()}: {match.group()}") for group_num, group in enumerate(match.groups(), start=1): print(f"Group {group_num} found at {match.start(group_num)}-{match.end(group_num)}: {group}")

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 Python, please visit: https://docs.python.org/3/library/re.html