/ / Espressione regolare PHP - non funziona .. dovrebbe essere - regex, data

PHP Regular Expression - non funziona .. dovrebbe essere - regex, data

Sto cercando di estrarre le date da una variabile di testo.

Ho creato una regex che estrae i "MOST" formati di data come segue:

    $regexp = "#[0-9]{2,4}[-/ ]{1}([A-Za-z]{3}|[0-9]{2})[-/ ]{1}[0-9]{2,4}#";
preg_match_all($regexp, $output, $dates);

Non estrae però le date del formato "08 ago 2012" e non so perché .. Per quanto posso dire .. dovrebbe ...

Per ora ho inserito una regex separata che funziona:

    $regexp = "#[0-9]{2}[ ]{1}[A-Za-z]{3}[ ]{1}[0-9]{4}#";
preg_match_all($regexp, $output, $dates);

che è essenzialmente lo stesso ..

Sembra comunque inutile avere espressioni regolari multiple quando ne ho bisogno solo uno.

Se qualcuno potesse dirmi perché la prima regex non funziona per un tale formato, e spiegare perché, sarebbe molto apprezzato.

Grazie

risposte:

2 per risposta № 1

Bene, la tua espressione regolare è corretta per il formato della data che hai presentato. E come tale funziona anche senza problemi: http://ideone.com/XxdKV