2016-08-05 7 views
-2

Ich brauche ein Muster, ein Datum zu entsprechen, und ich brauche die Vorsilbe vor dem Zeitpunktregexp Einstimmungsmuster und Präfix

$prefix = '^(.*)'; 

preg_match("/$prefix(\d+) (may) (2016)/mi", $input, $matches) 

Eingang 1 (Arbeits)

3 may 2016 
\\1 
\\2 3 
\\3 may 
\\4 2016 

Eingang 2 (nicht in Betrieb)

17 may 2016 
\\1 1 
\\2 7 
\\3 may 
\\4 2016 

Eingang 3 (nicht in Betrieb)

prefix 17 may 2016 
\\1 prefix 1 
\\2 7 
\\3 may 
\\4 2016 
+0

die Präfix hat immer ein Leerzeichen vor dem Datum? –

+0

Verwenden Sie '$ Präfix = '^ (\ D *)';' –

+0

das Präfix könnte auch Ziffern enthalten – clarkk

Antwort

2

die Sie interessieren, glaube ich, kann es funktionieren:

$prefix = '^(.*?)'; 

preg_match("/$prefix(\d{1,2}) (\w{3,10}) (2016)/", $input, $matches); 

Here you can test it.

+0

^(. *?) \ S? (\ D {1,2}) \ s + (\ w {3,10}) \ s + (2016) -> es funktioniert: d –

+0

Gute Arbeit Kumpel ;-) –

+0

warum benutze \ s nicht? –

2

Probieren Sie es

^(.*?)(\d+) (\w+) (\d+)$ 

oder wenn Sie bestimmte Mai und 2016 müssen

^(.*?)(\d+) (may) (2016)$