¿Cómo crear un filtro de Gmail que busque texto solo al comienzo de la línea de asunto?


113

Recibimos mensajes de compilación automatizados regulares de los servidores de compilación de Jenkins en el trabajo.

Sería bueno buscarlos en una etiqueta, saltándose la bandeja de entrada.

Por supuesto, utilizar un filtro es la elección correcta.

El identificador deseado es la cadena [RELEASE]al comienzo de una línea de asunto.

Intentar especificar cualquiera de las siguientes expresiones regulares hace que los correos electrónicos con la cadena, releaseen cualquier caso, en cualquier parte de la línea de asunto coincidan:

\[RELEASE\]*
^\[RELEASE\]
^\[RELEASE\]*
^\[RELEASE\].*

Por lo que leí posteriormente, Gmail no tiene soporte estándar de expresiones regulares y, por la experimentación, parece que, al igual que con la búsqueda de Google, los caracteres especiales simplemente se ignoran.

Por lo tanto, estoy buscando un parámetro de búsqueda que puede ser utilizado, tal vez algo como atstart:mystringde acuerdo con sus has:, in:notaciones.

¿Hay alguna forma de forzar la coincidencia solo si ocurre al comienzo de la línea, y solo en el caso de que se incluyan corchetes?

Sincero agradecimiento.


¿No debería ^\[RELEASE\].*hacer el truco o no entiendo lo que quieres hacer?
Hauns TM

No, independientemente de los escapes, el formato de expresión regular no funciona. Por lo que he leído, gmail no tiene soporte para expresiones regulares estándar y, por la experimentación, parece que, al igual que con la búsqueda de Google, los caracteres especiales simplemente se ignoran. Busco una bandera "secreto" o tal que se puede utilizar' tal vez algo así como atstart:mystringde acuerdo con sus has:, in:notaciones. Agregaré esta información en mi publicación para aclarar, gracias de todos modos.
KomodoDave

Respuestas:


148

Regex no está en la lista de funciones de búsqueda , y estaba en (más o menos, como Mejor funcionalidad de búsqueda de mensajes (es decir, comodín y búsqueda de palabras parciales) ) en la lista de solicitudes de funciones predefinidas , por lo que la respuesta es "no puede hacer esto a través de la interfaz de usuario web de Gmail ":-(

No hay funciones de Labs actuales que ofrezcan esto. Los filtros SIEVE serían otra forma de hacer esto, que tampoco fue compatible , parece que ya no hay ninguna declaración definitiva sobre el soporte SIEVE en la ayuda de Gmail.

Actualizado para link rot. La lista predefinida de solicitudes de funciones estaba, es decir, enlatada, el original está en archive.org con fecha de 2012, ahora se le redirige a una página simplificada que le dice cómo dar su opinión. La falta de apoyo tamiz se cubre en respuesta 78761 ¿El Gmail soportar todas las características IMAP? , dado que en algún momento de 2015 esa respuesta redirige silenciosamente a la respuesta sobre la configuración del cliente IMAP, archive.org tiene una copia con fecha de 2014.

Con la función de búsqueda actual, los corchetes de cualquier forma () {} []se utilizan para agrupar, no tienen ningún efecto observable si solo hay un término dentro. El uso de (aaa|bbb)y [aaa|bbb]es equivalente y ambos encontrarán palabras aaao bbb. La mayoría de los demás caracteres de puntuación, incluidos \, se tratan como un espacio o un separador de palabras, + - :y "tienen un significado especial, consulte la ayuda .

A partir de 2016, solo el formulario " {term1 term2}" está documentado para esto, y es equivalente a la búsqueda " term1 OR term2".

Usted puede hacer búsquedas de expresiones regulares en su buzón de correo (dentro de límites) mediante programación a través de Google Docs: http://www.labnol.org/internet/advanced-gmail-search/21623/ ha fuente que muestra cómo se puede hacer (copiar el documento, luego Tools > Script Editorpara obtener la fuente completa).

También puede hacer esto a través de IMAP como se describe aquí: Python IMAP busca un asunto parcial y escribe algo para mover mensajes a una carpeta diferente. El verbo IMAP SEARCH solo admite subcadenas, no expresiones regulares (la búsqueda de Gmail se limita además a palabras completas, no a subcadenas), se necesitaría un procesamiento adicional de las coincidencias para aplicar una expresión regular.

Para completar, una última solución es: Gmail admite direcciones adicionales ; si puede cambiar la dirección de destino youraddress+jenkinsrelease@gmail.com, aún se enviará a su buzón, donde puede filtrar por dirección de destinatario. Asegúrese de filtrar utilizando la dirección de correo electrónico completa to:youraddress+jenkinsrelease@gmail.com. Por supuesto, esto es más o menos lo mismo que configurar una dirección de Gmail dedicada para este propósito :-)


¿Existe un carácter de escape para buscar corchetes o puntuación?
Aron

@Aron No lo creo. Aunque algunos signos de puntuación se manejan de manera especial (relacionados con el código, como c++), es mejor pensar que la búsqueda funciona solo con palabras preindexadas.
mr.spuratic

Creo que puedes usar comillas dobles "para escapar de los corchetes. Lo estoy usando en mis filtros y parece que funciona. Si utilizo subject: {[term1] (part of term2}, encuentro todos los mensajes que contienen tanto término1 como parte de término2 en el asunto. Pero con la forma subject:{"[term1] (part of term2"}encuentro todos los mensajes con asuntos que comienzan exactamente con [término1] (parte de término2
Izerlotti

1

La única opción que he encontrado para hacer esto es encontrar una redacción exacta y ponerla debajo de la opción "Tiene las palabras". No es la mejor opción, pero funciona.


-7

Me preguntaba cómo hacer esto yo mismo; Parece que Gmail implementó silenciosamente esta función desde entonces. Creé el siguiente filtro:

Matches: subject:([test])
Do this: Skip Inbox

Y luego envié un mensaje con el asunto

[test] foo

¡Y el mensaje fue archivado! Entonces, parece que todo lo que se necesita es crear un filtro para el prefijo de asunto que desea manejar.


5
Tenga en cuenta que si envía un mensaje con el asunto 'test foo', su filtro también lo captará. "[prueba]" solo busca realmente "prueba" =)
Daniel Gill

25
Aquí tienes un consejo: cuando quieras probar una idea, intenta encontrar formas de refutarla. En su caso, escribió un filtro para capturar los corchetes y su prueba esperaba que el filtro funcionara. Debería probarlo esperando que falle, como señaló @DanielGill. :)
pedromanoel
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.