El soporte de Regex en el editor web está limitado por la implementación del motor Lucene Regex.
Para usar regex, habilitar en la configuración de filtrar. Una marca de verificación verde en el campo de entrada de filtrar indica la validación exitosa de una regex válida.
Las consultas no distinguen entre mayúsculas y minúsculas de forma predeterminada. Habilitar en la configuración de filtrar para que distingan entre mayúsculas y minúsculas.
(asegurando la concordancia solo de palabras completas y no subcadenas dentro de palabras más largas) no está disponible.
La consulta ^abc$ funcionará como se espera, es decir, concordancia con el segmento completo, mientras que concordará con la subcadena abc en cualquier texto.
Limitaciones
El reemplazo correcto de consultas parcialmente formateadas no es compatible, p. ej., buscar "Jméno: $1, Příjmení: $2." en el texto "\\{b\\>First name<}: Bob, \\{biu\\>Last name\\<biu\\}: Dylan." será reemplazado como “{>Jméno: Bob, Příjmení: Dylan\\<b\\}”
Patrones no compatibles
-
Ancla de límite de palabra
\\busada para concordancia de palabras exactas (funciona en el editor de escritorio). -
\\\\[1-9]- Referencias inversas (\\1, \\2, etc.), p. ej.(\\w+)\\s+\\1para concordancia de palabras duplicadas como “hello hello” -
\\(\\?=|\\(\\?!|\\(\\?<=|\\(\\?<!- Lookahead y lookbehind, p. ej.cat(?=\\.jpg)para concordancia de “cat” solo en “cat.jpg” -
\\(\\?:- Grupos sin captura, p. ej. (?:Mr|Mrs|Ms)\\. \\w+,pero los grupos de captura(Mr|Mrs|Ms)\\. \\w+son compatibles y concuerdan con nombres como “Mrs. Smith”, “Mr. Brown” -
\\(\\?#- Comentarios en línea, p. ej.\\d\{4\}-(?# year)\\d\{2\}-(?# month)\\d\{2\}(?# day)para concordancia de “2025-06-25” -
\\(\\?P<[^>]+>- Grupos de captura con nombre, p. ej. (?P<amount>\\d+)\\s?(?P<currency>USD|EUR)para concordancia de “150 USD” y “99 EUR”
Punto (.) como marcador de posición para cualquier carácter único
-
c.at: Concordancia: “chat”, “coat”. NO hay concordancia: “cat”, “cheat” -
wa.ter: Concordancia: “waiter”, “waster”. NO hay concordancia: “water” -
s.ip: Concordancia: “skip”, “ship”, “slip”. NO hay concordancia: “sip”, “strip”
? - Cero o una aparición
-
colou?r: Concordancia: “color”, “colour” -
g?rain: Concordancia: “grain”, “rain” -
books?: Concordancia: “book”, “books”
.* - Cualquier número de carácter (incluido ninguno)
-
h.*y: Concordancia: “happy”, “history”, “honey” -
sa.*d: Concordancia: “sad”, “sand”, “satisfied” -
m.*ing: Concordancia: “morning”, “meeting”, “marketing”
.+ - Debe aparecer al menos un carácter
-
pa.+er: Concordancia: “paper”, “painter” -
a.+ed\" Concordancia: “asked”, “accepted”, “allowed”
* - Cero o más apariciones
-
go*al: Concordancia: “goal”, “goooooooal”
+ - Una o más ocurrencias
-
no+: Concordancia: “no”, “noooooo” -
$1+: Concordancia: “$1”, “$11”, “$111”
Se recomienda usar un patrón lo más específico posible, ya que los patrones abiertos pueden causar problemas de rendimiento en el editor.
Importante
El editor tiene un límite integrado sobre qué tan complejo puede ser un patrón de regex. Los patrones que son demasiado amplios o que usan mucho los comodines pueden fallar como regex no válida. Para evitar esto:
-
Mantenga los patrones cortos y específicos.
error-[0-9]\{3\}está bien;.*a.*b.*c.*d.*no lo está. -
Minimice los comodines. Cada
.+o.*multiplica la complejidad interna. Prefiera clases de carácter como[A-Z]+en lugar de.*siempre que sea posible. -
Evite alternancias largas con repetición. Un patrón como
(word1|word2|...|word20){2,}puede exceder el límite rápidamente. Esto se amplifica cuando las alternativas incluyen múltiples palabras o puntuación, lo cual aumenta la complejidad de la regex. -
Ancle un lado siempre que sea posible.
^prefix.*es mucho menos costoso que.*middle.*.
Si el patrón es rechazado, intente hacerlo más específico: comience con un prefijo fijo más largo y delimítelo a partir de ahí. Considere reducir el número de alternativas o manejarlas en patrones separados en lugar de combinar todo en una regex compleja.
Ejemplo:
Filtrado para direcciones de correo electrónico:
-
Este patrón tendrá concordancia con espacios y todas las palabras circundantes con resultados potencialmente excesivos:
.*@.* -
Para limitar los resultados a todas las direcciones de correo electrónico:
[\\w.+\\-]+@[\\w.+\\-]+ -
Para limitar los resultados solo a correos electrónicos .com:
[\\w.+\\-]+@[\\w.+\\-]\\.com -
Para limitar los resultados a aquellos que tienen un dígito en las direcciones de correo electrónico:
[\\w.+\\-]*\\d+[\\w.+\\-]*@[\\w.\\-]+
-
cat|dog: Concuerda con: “cat” y “dog” -
red|blue|green: Concuerda con: “red”, “blue”, “green”
-
[A-Z]+: Concuerda con una o más letras mayúsculas seguidas (una secuencia). -
[A-Z]{2,}: Concuerda con cualquier serie de letras mayúsculas (útil, por ejemplo, para concordar acrónimos o Strings escritos en letras mayúsculas) -
[0-9]\{4\}: Concuerda con números de cuatro dígitos, p. ej. "1999", "2003", "1876" (también se encuentra dentro de una cadena de más de cuatro dígitos; para limitar los resultados, se debe usar la opción de concordancia de palabras planeada para el futuro) -
[A-Za-z0-9]+: Concuerda con cualquier cadena alfanumérica (¡hola! → hola concordaría, pero ! no es parte de [A-Za-z0-9]; 100% → solo 100 concordaría) -
([A-Za-z]+\\d+|\\d+[A-Za-z]+): Concuerda estrictamente con una combinación de dígitos y letras, p. ej., “user123”, “Admin99”, “Win11”, “5g”, “1080p” -
[0-9]{2,4}-[A-Z]{2,3}: Concuerda con matrículas, p. ej. “12-XY”, “9999-ABC”
-
\\+[0-9]{1,2}: Concuerda con “+40”, “+1” -
\\{version: [0-9]+\\}: Concuerda con “{version: 12}”, “{version: 13}” -
C:\\\\[A-Za-z]+: Concuerda con “C:\\Users”, C:\\Documents, “C:\\Desktop”
-
De forma predeterminada, el filtrado por regex se implementará sin distinguir entre mayúsculas y minúsculas.
c.at: Concuerda con: “chat”, “Chat”, “CHAT” y “coat”, “Coat”, “COAT” -
el filtrado con regex se puede combinar con el filtro de IU
Los grupos de captura de regex se reconocen y la consulta completa se resalta; p. ej., s(e)g resaltará "seg". Los grupos de captura se pueden usar para el Reemplazar, p. ej., "Name: Bob" se puede buscar mediante Name: (.*?) y Reemplazar usando una referencia inversa a Jméno: $1". Las referencias inversas faltantes se manejan correctamente; es decir, la consulta Name: (.*?) con el Reemplazar Jméno: $1, Title: $2 se reemplazará como Jméno: Bob, Title: $2.
Ejemplos para el Reemplazar referencia inversa:
-
filtrar
(\\d+),(\\d+)y Reemplazar$1.$2para normalizar separadores decimales (p. ej., de 5,6 o 35,949 a 5.6 o 35.949) -
filtrar
(\\d+)\\.(\\d+)y Reemplazar$1,$2para normalizar separadores decimales (p. ej., de 5.6 o 35.949 a 5,6 o 35,949) -
filtrar
(\\d\{4\})-(\\d\{2\})-(\\d\{2\})y Reemplazar$3/$2/$1para reformatear la fecha (p. ej., de 2025-06-05 a 05/06/2025) -
filtrar
ID-(\\d{3,})y ReemplazarTicket #$1para extraer el número del ticket (p. ej., de a ) -
filtrar
(cat|dog)y Reemplazar$1-$1para Duplicar el texto coincidente (p. ej., de cat a cat-cat y de dog a dog-dog) -
Optional group: filtrar
Hello(, (\\w+))?y ReemplazarHi $1para transformar saludos reemplazando "Hello" antes de nombres o por sí solo (p. ej., de a y de a )