Captain America
2005-11-14, 20:16:07
Snippet zum extrahieren von Daten (Datum), in PHP mit PREG (preg_match_all()):
$patterns[] = '[0-9]{1,2}\.\s*[a-zA-Z]+\.?\s+[0-9]{4}}'; // 1. Februar 2006, 1. Feb 2006, 1. Feb. 2006, euro long
Man beachte das Ende, welches vierstellige Jahresangaben findet: [0-9]{4}. Nun möchte ich dass er 2- oder 4-stellige findet, aber nicht 3-stellige, somit scheidet [0-9]{2,4} aus. Jeman ne Idee wie man das lösen kann, ohne dass man ein subset mit ([0-9]{2}|[0-9]{4}) einbaut? Das zerschiesst mir den Rest des Codes, weil ich dann subsets Indices ändern muss.
Ausserdem tricky: [0-9]{2,4} funktioniert nicht, weil das Pattern Ungreedy ist.
Wer das löst bekommt nen Kuss von unserer Göttin Asyan! :uup:
$patterns[] = '[0-9]{1,2}\.\s*[a-zA-Z]+\.?\s+[0-9]{4}}'; // 1. Februar 2006, 1. Feb 2006, 1. Feb. 2006, euro long
Man beachte das Ende, welches vierstellige Jahresangaben findet: [0-9]{4}. Nun möchte ich dass er 2- oder 4-stellige findet, aber nicht 3-stellige, somit scheidet [0-9]{2,4} aus. Jeman ne Idee wie man das lösen kann, ohne dass man ein subset mit ([0-9]{2}|[0-9]{4}) einbaut? Das zerschiesst mir den Rest des Codes, weil ich dann subsets Indices ändern muss.
Ausserdem tricky: [0-9]{2,4} funktioniert nicht, weil das Pattern Ungreedy ist.
Wer das löst bekommt nen Kuss von unserer Göttin Asyan! :uup: