No has iniciado sesión
Conectar al sistema | Registrar usuario
Foros Mensajes No contestados Conversaciones Mensaje
 

Expresión regular para eliminar fragmentos de texto en un archivo

Hola amigos, tengo una duda con una expresión regular. El tema es que tengo un diccionario en un archivo .txt y quisiera eliminar la parte de los antónimos y ciertos caracteres como doble barra (//) y algunas abreviaturas como (ant.), (cont.), etc.
Para empezar, me he creado un pequeño script php donde escribo en otro txt y sustituyo dichas expresiones. Pero la principal dificultad se me plantea con los fragmentos de texto que no me interesan, los antónimos. he probado lo siguiente:

Normalmente comienza con la abreviatura ant. sigue con una cadena de texto donde hay espacios, comas, finales de línea y termina en un punto

[QUOTE]Ant. Oclusión, cerramiento,
obturación, clausura,
cierre.[/QUOTE]

Por lo tanto probé con esto
 
000 
001 
002 
003 
004 
005 
006 
007 
008 
009 

    $archivotexto   = file_get_contents ("sinonimos.txt");        

    $texto = preg_replace ("/(ant)\.[[:alnum:]]\./i""", $archivotexto);
    
        $fp = fopen("sinonimos2.txt","w");
  fwrite($fp, $texto);
  fclose($fp);

 
sin embargo no me funciona, podríais arrojarme algo de luz? Gracias
0 votos
Preguntado hace 2 años y 164 dias por mutis99  5 mensajes  
 

Re: Expresión regular para eliminar fragmentos de texto en un archivo

No te está funcionando por dos razones:
1- [:alnum:] no incluye comas ni espacios y el texto a eliminar si
2- El [] es una clase sirve para agrupar varios caracteres en un caracter, si quieres que sean varios tienes que poner un *
Algo asi:
 
000 
"/(ant)\.[\,\s[:alnum:]]*\./i"
 
PD: \s es el espacio, si hay saltos de linea añade \n\r
¿Te ha sido útil la respuesta? Considera contribuir contestando preguntas sin responder de otros usuarios o compartir tus conocimientos escribiendo un artículo
0 votos
Respuesto hace 2 años y 164 dias , editado  hace 2 años y 164 dias por eloi  2448 mensajes  
 
Páginas:  1 
 
Responder
No puedes responder, mensaje cerrado por inactividad