Düzenli ifade eşleşen deseni içinde her iki kişiden birini yazdırır

0 Cevap php

Hey çocuklar, PHP regex hakkında bir soru!

Verilen model için, tür bir kabuk terminali sözdizimi gibi:

application>function -arg1 value -arg2 value -arg3 value -arg4 value

Ben argümanları ayrıştırmak istiyorum. Bu benim regex kodu

$command=' -arg1 value -arg2 value -arg3 value -arg4 value ';

// note the string begins by a space character and ends by a space character
// now i'm trying to parse arguments

$cmd->arguments=new \stdClass();

preg_replace('`\s-(.*)\s([a-zA-Z0-9-_]*)\s`Ue',
'$cmd->arguments->$1="$2";',$command);

// this regex will pick one matching out of two and returns

$cmd->arguments=stdClass(

    [arg1]=>value,
    [arg3]=>value

)

arg2 ve arg4 atlanır. Herhangi bir fikir neden? Şimdiden teşekkürler!

0 Cevap