Ayuda por favor: Expresiones regulares

28/04/2006 - 07:27 por XTV | Informe spam
¡Por favor!, me voy a volver loco y no voy a conseguir sacar la expresión
que necesito, a ver si me puede hechar una manito, please!!!

Tengo una lista con datos de este tipo:

OF.0920
PC 656
OF.0980
RM 2241
OF.3114
REM: 02233
OF.4003
OF.4036
03410-RM
OF.4557

Y lo que quiero es capturar el número que haya de entre 3 y 6 cifrás de cada
línea, excepto de las que empiezan por "OF."

He provado todo esto; que se acerca pero no es eso exactamente:

\b(?:(?!OF.)\w)+\s?\d{3,6}\s?

\b(?:(?!OF.)\w)+\b\s?\d{3,6}\s?

\b(?:(?![OF]+\x46)\w)+\b

\b(\w|\.|\-)+\b

A ver si alguién que me ayuda a dar con la clave; muchisimas gracias

XTV
 

Leer las respuestas

#1 Leonardo Azpurua [mvp vb]
28/04/2006 - 17:00 | Informe spam
"XTV" escribió en el mensaje
news:
¡Por favor!, me voy a volver loco y no voy a conseguir sacar la expresión
que necesito, a ver si me puede hechar una manito, please!!!

Tengo una lista con datos de este tipo:

OF.0920
PC 656
OF.0980
RM 2241
OF.3114
REM: 02233
OF.4003
OF.4036
03410-RM
OF.4557

Y lo que quiero es capturar el número que haya de entre 3 y 6 cifrás de
cada línea, excepto de las que empiezan por "OF."

He provado todo esto; que se acerca pero no es eso exactamente:

\b(?:(?!OF.)\w)+\s?\d{3,6}\s?

\b(?:(?!OF.)\w)+\b\s?\d{3,6}\s?

\b(?:(?![OF]+\x46)\w)+\b

\b(\w|\.|\-)+\b

A ver si alguién que me ayuda a dar con la clave; muchisimas gracias



Hola, XTV:

Usar las expresiones regulares para definir lo que NO debe cumplirse por lo
general es exasperantemente difícil (porque fueron concebidas para
determinar aserciones, no negaciones).

¿Hay alguna razón para que no puedas combinar las expresiones regulares para
extraer con un simple Left para filtrar?

If Left(x, 2) <> "OF" Then
...extraes y procesas los digitos...
Else
... lo que tengas que hacer con las OF...
End If


Salud!

Preguntas similares