Escape texto para que una regex lo encuentre literalmente en JavaScript, Python, PHP, Java, Go o .NET
Se ejecuta en su navegador. Nada de lo que escribe se envía a ningún sitio. Comprobado el 16 de octubre de 2026.Escapar una regex consiste en poner una barra invertida antes de cada carácter con significado especial, para que el patrón encuentre el texto literalmente. Los 14 caracteres que hay que escapar casi en todas partes son . ^ $ * + ? ( ) [ ] { } | y la barra invertida. Cada lenguaje añade algunos más, y JavaScript y Java escapan de forma distinta.
Esta página se ha traducido automáticamente del original en inglés. Ninguna persona ha revisado todavía la traducción, así que la versión en inglés es la que debe consultar. Leer el original en inglés
Pegue el texto que el patrón debe encontrar exactamente, o haga clic en Probar un ejemplo.
Elija el lenguaje: JavaScript, Python, PHP, Java, Go, .NET o sed y grep.
Active Uno por línea para encontrar cualquiera de varias líneas, unidas con |.
Haga clic en Copiar, o pulse Ctrl+Enter, y pegue el patrón en su código.
En una expresión regular, un punto significa cualquier carácter, un signo más significa uno o más, y los corchetes inician un conjunto. Para buscar texto que los contenga, como un precio del tipo $4.99 o un nombre de archivo como report(1).pdf, hay que escapar cada uno de esos caracteres. Esta herramienta lo hace igual que la función de escape propia de cada lenguaje, de modo que el patrón se comporta exactamente como en su código.
| Lenguaje | Función a la que equivale | Notas |
|---|---|---|
| JavaScript | RegExp.escape |
también escapa / y la puntuación como códigos \x; funciona con las marcas u y v |
| Python | re.escape |
solo caracteres especiales, desde Python 3.7 |
| PHP | preg_quote($s, '/') |
añade = ! < > : - # y el delimitador / |
| Java | Pattern.quote |
envuelve el texto entre \Q y \E |
| Go | regexp.QuoteMeta |
el conjunto más pequeño: \ . + * ? ( ) | [ ] { } ^ $ |
| .NET | Regex.Escape |
también espacios y #, para patrones que ignoran los espacios en blanco |
| sed, grep | Sintaxis básica POSIX | . [ \ * ^ $ y el delimitador / |
Uno por línea. Actívelo para escapar cada línea por separado y unirlas con |, de modo que el patrón encuentre cualquier entrada de una lista de palabras, URL o nombres de archivo. Las líneas vacías y los duplicados se eliminan. En sed y grep la unión es |, que entienden las herramientas GNU.
Pruebas, no confianza. Para JavaScript, la página ejecuta el patrón en el propio motor de su navegador y confirma que encuentra el texto y nada más. La salida de JavaScript se prueba contra el motor con y sin las marcas u y v, y la de Python contra re.escape de CPython con 728 cadenas.
Colocar el patrón dentro de un literal de cadena es un segundo paso, independiente: una barra invertida en una cadena de Java o C# debe duplicarse. La herramienta String Escape se encarga de esa parte.
Todo se ejecuta en su navegador; nada de lo que pegue se envía a ningún sitio.
Los caracteres con significado especial: . ^ $ * + ? ( ) [ ] { } | y la propia barra invertida. Dentro de un patrón actúan como comodines, anclas, repeticiones o grupos, así que un punto literal debe escribirse \. y un signo más literal \+. Algunos lenguajes escapan algunos más, como / en JavaScript y PHP, o los espacios en .NET.
Escriba una barra invertida antes: \. encuentra solo un punto, mientras que un . sin escapar encuentra cualquier carácter. Así, example.com como patrón también encuentra examplexcom, y example\.com encuentra solo el dominio real. Dentro de corchetes un punto ya es literal, por lo que [.] también funciona.
RegExp.escape escribe una letra o un dígito inicial, y la puntuación como - , = y los espacios, como códigos \x, para que el resultado siga siendo correcto dondequiera que se inserte: después de \0 o \c, dentro de una clase de caracteres o con las marcas u y v. El patrón es más largo, pero siempre encuentra el texto literalmente.
Ambas ponen una barra invertida antes de los caracteres especiales, pero preg_quote de PHP también escapa = ! < > : - # y el delimitador que se le pase, normalmente /, y escribe un byte NUL como \000. re.escape de Python también escapa - & ~ # y los espacios en blanco. La salida de cada herramienta solo es válida para su propio motor.
Pattern.quote envuelve el texto entre \Q y \E, que indican al motor de Java que lea literalmente todo lo que hay entre ellos. Si el propio texto contiene \E, Java cierra la cita, añade un \E escapado y abre una nueva. Para usar el resultado en código fuente Java, después hay que duplicar cada barra invertida en el literal de cadena.
Escape cada palabra y únalas con una barra vertical: cat|dog|bird encuentra cualquiera de las tres. Active aquí Uno por línea, pegue la lista y cada línea se escapa y se une automáticamente, eliminando las líneas vacías y los duplicados. Añada ^( y )$ alrededor para encontrar solo líneas completas.
Los tipos y las normas cambian; consulte la fuente antes de fiarse de una cifra.
¿Sigue sin resolverlo? Pregunte sobre Escapar regex y cualquiera que lo sepa puede responder. No se necesita cuenta.