2010-12-30 6 views
0

Ich habe eine Zeichenfolge, bestehend aus: einige Zahlen, ein einzelner Buchstabe, einige Zahlen und Buchstaben.Regex zum Erkennen von Zahlen am Anfang der Zeichenfolge.

Zum Beispiel: 987342j34kj3

Ich mag Ausgabe etwas wie:

$numbers = 987342 
$letter = j 
$restofit = 34kj3 

Jede Idee, wie dies mit PHP zu tun? Kann ich preg_match verwenden?

+0

Also, um zu klären, Ihr Muster ist „einige Zahlen, ein Brief, etwas, das Buchstaben und Zahlen ist“? – lonesomeday

+1

Woher kommt der Buchstabe k? Ist das konsistent oder ist das eine willkürliche Übereinstimmung? (Wie willst du es geteilt?) –

+0

@Brad: Hoffentlich ein Tippfehler. – BoltClock

Antwort

4

Kein Problem:

preg_match('/(\d+)([a-z])([a-z0-9]+)/', $string, $matches); 

// First element of $matches is the entire matched string, ignore it 
list(, $numbers, $letter, $restofit) = $matches; 
+0

Ausgenommen @ David19801 überspringt das erste j und die Nummern 3 und 4. Dies wird "987342", "k", dann den Rest von "34kj3" fangen. –

+0

Ich habe gerade den Endbegrenzer nicht dort abgefangen. Danke :) Das k war ein Tippfehler, korrigiert zu j wie Sie richtig bemerkt! – David19801

+0

Denken Sie daran, wenn Sie sowohl Groß- als auch Kleinbuchstaben anpassen müssen, schlagen Sie einen "i" -Modifikator auf Ihre Regex. – BoltClock

Verwandte Themen