El Miércoles, 21 de Febrero de 2007, Christian Pinedo Zamalloa escribió:
> On Wednesday 21 February 2007 23:16, Iñaki wrote:
> > El Miércoles, 21 de Febrero de 2007, Christian Pinedo Zamalloa escribió:
> > > On Wednesday 21 February 2007 22:42, Iñaki wrote:
> > > > El Miércoles, 21 de Febrero de 2007, Christian Pinedo Zamalloa 
escribió:
> > > > > Pero .......... no controlo mucho de expresiones regulares.
> > > > >
> > > > > \[party\] -> da positivo para subjects que contienen "[party]"
> > > > > ???????? -> da positivo para subjects que no contienen "[party]"
> > > >
> > > > ¿Podrías detallar un poco más el problema? no entiendo muy bien qué
> > > > es lo que pretendes con esas expresiones regulares.
> > >
> > > supongamos que queremos definir temas para trabajar en los grupos de
> > > trabajo:
> > >
> > > \[party\]
> > > \[manifest\]
> > > \[pepito\]
> > >
> > > Si la gente no se suscribe a ningun tema recibirá todos los emails, asi
> > > que en le canal de IRC de #mailman me han propuesto que haga una
> > > expresion regular para los no temas. Es decir, necesitaria una
> > > expresion regular que se cumpla siempre y cuando en el subject no
> > > aparezca "[party]" o "[manifest]" o ...
> > >
> > > Por ejemplo, una persona que no quiera estar al tanto de los grupos de
> > > trabajos y quiera reducir los emails recibidos se suscribiría a ese
> > > tema y se quitaría el ruido...
> > >
> > > Pero por ejemplo, si estoy en [party] tambien me suscribiría tema ese
> > > genérico y vería los mensajes normales de la lista, los de [party] y me
> > > eliminaría los de [manifest] y [pepito].
> > >
> > > Espero que ahora se me entienda. Saludos,
> >
> > En Bash funcionaría esto:
> >
> > ---------------------------------------------
> > #!/bin/bash
> >
> > # Uso: ./comando "argumento"
> >
> > if ! [[ $1 =~ '(\[party\])|(\[pepito\])' ]] ; then
> >         echo "NO pertenece a ningún tema"
> > else
> >         echo "¡¡¡ SI pertenece a algún tema !!!"
> > fi
> > ----------------------------------------------
>
> Lo que yo no se hacer es ese not de python, ! de C, ~ de bash, ... No se
> como hacer la negación en expresiones regulares.

Prueba poniendo ! delante (aunque en Bash no es así). O sea, algo en plan:

  "!(loquesea)"

PD: Ojo, el ~ de bash no es para hacer la negación, de hecho el =~ es para 
hacer una comparación con expresión regular. La negación en el código que yo 
ponía viene con el ! del principio.

Saludos.

-- 
Iñaki Baz Castillo

_______________________________________________
ITSAS mailing list
[email protected]
http://list.ehu.es/mailman/listinfo/itsas

Responder a