Foros del Web » Programando para Internet » PHP »

Expresiones regulares

Estas en el tema de Expresiones regulares en el foro de PHP en Foros del Web. Hola, Tengo una cadena como la siguiente: INI hola FIN INI chau FIN Yo quiero (mediante expresiones regulares) obtener lo que hay entre los INI ...
  #1 (permalink)  
Antiguo 06/04/2006, 09:15
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años, 7 meses
Puntos: 11
Expresiones regulares

Hola,

Tengo una cadena como la siguiente:

INI hola FIN INI chau FIN

Yo quiero (mediante expresiones regulares) obtener lo que hay entre los INI - FIN.

Para ello utilizo la expresión siguiente:

INI(.*)FIN

El problema está en que esa expresión me devuelve hola FIN INI chau, por lo que la expresión debería ser algo como esto:

INI([^FIN]*)FIN

Pero aquí hay otro problema, si la cadena anteriormente dicha es de esta forma:

INI hola F hola FIN INI chau FIN

La expresión regular me devuelve sólo la palabra chau debido a que el circunflejo ( ^ ) está negando cualquier caracter de la clase [FIN], es decir [^FIN] me niega cualquier letra F, I o N.

Lo que yo quiero es que niegue la palabra completa (FIN), he visto en un manual que puedo usar el punto de esta manera para explicitar la palabra completa, pero no me da resultado alguno: [^.FIN].

También he probado con muchas combinaciones pero no funciona por ejemplo:

[^[.FIN]]
[^(FIN)]

Si me pueden dar una mano les agradecería mucho.

Un saludo,
  #2 (permalink)  
Antiguo 06/04/2006, 09:47
Avatar de jmn2k1  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires...
Mensajes: 489
Antigüedad: 23 años
Puntos: 2
no seria mas simple (al menos seria mas simple para mi, que no paso de lo basico con expresiones regulares...) usar explode()??
__________________
JmN
  #3 (permalink)  
Antiguo 06/04/2006, 09:50
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años, 7 meses
Puntos: 11
Explode no trabaja con expresiones regulares y lo que necesito es justamente utilizar expresiones regulares.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:51.