2016-07-08 6 views
0

の文字列を区切ります。オプションのスペースと数字の文字列と、ドット(任意のスペース)の数字とドットから区切りを試みる

$string = "1.1Kumar/Sandeep MR*T0148.4801 12.23Pal/Sandeep MR*T643.948"; 
$regex1 = "/(\s*[0-9]+\.)/"; 
$regex2 = "/(?<=\s)[0-9]+\./"; 

私はとから分割する必要があります。 最初の正規表現が得られます。

Array 
(
    [0] => 
    [1] => 1Kumar/Sandeep MR*T 
    [2] => 4801 
    [3] => 23Pal/Sandeep MR*T 
    [4] => 948 
) 

第二の正規表現が得られます。

Array 
(
    [0] => 1.1Kumar/Sandeep MR*T0148.4801 
    [1] => 23Pal/Sandeep MR*T643.948 
) 

私が取得しようとしています:

Array 
(
    [0] => 1Kumar/Sandeep MR*T0148.4801 
    [1] => 23Pal/Sandeep MR*T643.948 
) 
+1

[このデモ](https://eval.in/602339)はいかがですか。 –

答えて

3

はあなたの例の文字列の場合、これは動作します:

\b\d+\. 

Regular expression visualization

Debuggex Demo

それはワードブレークは、数字部分の前にあります確認します。 (行頭またはスペースを入力してください)

+0

私は他の部分を読んでいないので、あなたのことは間違いなく良いです:) – Jan

+0

正規表現の結果は、文字列が "1.1Kumar/Sandeep MR * 0148.4801"のときに探していたものではありません –

+1

私の最初のフィドル* '(?:^ | \ s)\ d + \。'である。どちらの場合でもうまくいくでしょう。 – ClasG

関連する問題