Ciao a tutti, ho un problema con una espressione regolare, con le quali non vado molto d'accordo purtroppo.

Devo elaborare una stringa di questo tipo

<li class="cat-item cat-item-1 current-cat">Il Mio Articolo


Questa è la mia regex:
Codice PHP:
preg_match_all('@<li class="(?<c>.*?)">[url="(?<a>.*?)"](?<t>.*?)[/url]/\n@'$main_menu$cats); 
$main_menu ovviamente contiene la stringa.

Funziona in locale, ma on line mi segnala questo errore:
PHP Warning: preg_match_all() [function.preg-match-all]: Compilation failed: unrecognized character after (?&lt; at offset 14

Mi potreste aiutare, per favore?