Expresión regular para eliminar fragmentos de te

M

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; ejemplo:

Ant. Oclusión, cerramiento,
obturación, clausura,
cierre.

Por lo tanto probé con esto
[codigo]
$archivotexto = file_get_contents ("sinonimos.txt");

$texto = preg_replace ("/(ant)\.[[:alnum:]]\./i", "", $archivotexto);

	$fp = fopen("sinonimos2.txt","w");

fwrite($fp, $texto);
fclose($fp);

[/codigo]

sin embargo no me funciona, podríais arrojarme algo de luz? Gracias

LOc0

A ver si hay suerte así:

$limpio=preg_replace('/(?<!\w)ant\..*?\./is', '', $texto);

http://www.php.net/manual/es/pcre.pattern.php

Salu2 ;)

7 días después
M

Muchas gracias, he descubierto lo siguiente:

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 quiero que sean varios tengo que poner un *

También puede ser algo asi:

  "/(ant)\.[\,\s[:alnum:]]*\./i"

Usuarios habituales