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 № 1Bene, la tua espressione regolare è corretta per il formato della data che hai presentato. E come tale funziona anche senza problemi: http://ideone.com/XxdKV