2016-09-14 5 views
-3

私は、次のような文字列から一致させる必要があるとの間の正確な文字列を一致させるために:正規表現は、2つの区切り文字

27,B661|27,071315S|27,B2843|2,355516|27,ASB844|27,H994|28,073126| 

を基本的に、私は、コンマの後が、垂直バーの前に正確なテキストを一致させたいです。だから 'B661'は一致します。 'B66'だけでは一致しません。これを理解できないようです! @Wiktorと同じように2回(!);

+0

いいですね。それで幸運。プログラミングの質問がありましたか?このサイトは、あなたの予定リストをダンプする場所ではなく、進捗報告がない(不足している)場所ではありません。 –

+0

'\、[^ \ |]'のようなものです。さらに調整してください。 –

+0

ちょうど '爆発する '。 –

答えて

1

explode()

<?php 

$string = "27,B661|27,071315S|27,B2843|2,355516|27,ASB844|27,H994|28,073126|"; 

$arr = explode("|", $string); 
foreach ($arr as $item) { 
    list($key, $value) = explode(",", $item); 
    echo "$key: $value\n"; 
} 

?> 

など正規表現で:

(?<=,)\w+(?=|) 

a demo on regex101.comを参照してください。

+0

答えをありがとう...私は投稿前に爆発を使用してみましたが、何かクリーナーを探していました。実際にstrposを使用して終了しました。 – lbn

+1

*「投稿する前に爆発しました」* - 次回は元の投稿に試した内容を含めてください。 –

関連する問題