2010-12-30 8 views
0

私は文字列を持っています: いくつかの数字、 単一の文字、 いくつかの数字と文字。例えば文字列の先頭の数字を検出する正規表現。

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

PHPでこれを行うにはどのように任意のアイデア:987342j34kj3

は、私が出力するような何かをしたいですか? preg_matchを使うことはできますか?

+0

だから、明確にするために、あなたのパターンは、「いくつかの数字、文字、文字と数字で何か」ではありませんか? – lonesomeday

+1

どこから来た文字kがありますか?これは一貫しているのですか、それとも恣意的な一致ですか? (どうやって分割したいのですか?) –

+0

@ブラッド:うまくいけばオタクです。 – BoltClock

答えて

4

問題なし:

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

@ David19801は最初のjと3と4の番号をスキップします。これは "987342"、 "k"、残りの "34kj3"をキャッチします。 –

+0

私はちょうどそこに終わりの区切り文字を捕まえました。ありがとう:) kはあなたが正しく気づいたので、jに修正されたタイプミスでした! – David19801

+0

大文字と小文字の両方をマッチさせる必要がある場合は、 'i'修飾子を正規表現に置きます。 – BoltClock