2012-04-03 9 views
0

Ich suche eine Zeichenfolge für ein bestimmtes Muster.Wie suche ich einen String nach einem Muster?

$string = "Monday: 08.00-18.00"; 
$pattern = "xx.xx-xx.xx"; 

Das "x" kann mit der "0", "1", "2", "3", "4", "5", "6", "7" ist, "8" oder " 9 ". Das "-" muss ein "-" sein. Das "." könnte sein "." oder ":".

Gibt es einen Weg dazu?

+1

Sie bei regexpressions ausgesehen haben? – BugFinder

+0

Reguläre Ausdrücke –

Antwort

1

Sie wollen so etwas wie

$string = "Monday: 08.00-18.00"; 
$pattern = "/[0-9]{2}[:|\.][0-9]{2}[-][0-9]{2}[:|\.][0-9]{2}/"; 
if(preg_match($pattern,$string,$matches)) 
{ 
    // has the pattern, do something 
    //$matches has all the matches from preg_match 
    echo $matches[0]; // prints the matched pattern 
} 
+0

Thx! Aber es scheint nicht zu funktionieren. Die Funktion gibt false zurück. Das gleiche gilt für MichaelRushtons Beispiel .. – Michael

+0

Versuchen Sie es noch einmal. Das Hinzufügen von $ Übereinstimmungen zu preg_match wurde vergessen und das Muster war in [: |.] Falsch. Ich habe es getestet und gearbeitet. Ich glaube, dass das Problem mit dem Michael-Rushton-Muster nicht darin besteht ("|" bedeutet "oder") im [:.]. und "^" bedeutet, dass die Zeichenfolge dort beginnt und "$" das Ende der Zeichenfolge ist. Also sucht sein Muster nach einem String, der genau so ist (08.00-18.00), aber in Ihrem Fall können Sie etwas am Anfang (wie: "Montag:") und/oder etwas am Ende haben. –

+0

Ausgezeichnet! Funktioniert perfekt – Michael

3

Sie sollten preg_match verwenden.
Ersetzen Sie x durch [0-9].
Ersetzen. mit [.:].

+0

Das '.' in Ihrem' (. :) 'passt auf jedes Zeichen (mit Ausnahme des Zeilenendes, es sei denn, der' s' Modifikator ist gesetzt). – MichaelRushton

+0

Okey! Obwohl ich neu bei PCRE-Mustern bin. Ich würde ein Beispiel für eine solche Funktion sehr schätzen. – Michael

+0

@MichaelRushton: Danke, dass du das bemerkt hast. Ich habe es korrigiert :) –

0

Dies sollte sein, was Sie brauchen:

preg_match('/^[0-9]{2}[:.][0-9]{2}-[0-9]{2}[:.][0-9]{2}$/D', $string) 
Verwandte Themen