次の文字列があります。
!fun(10,20)
私はそれを次のコンポーネント部分に分割しようとしています:
!
、fun
、10
、20
は!
常に最初の文字です。はfun
常に の次の 3 文字、は常に開き括弧の後に続き、 は常に閉じ!
括弧の前の最初のカンマの後に続きます。10
(
20
,
PHP 関数を使用してみましたが、頭を壁にぶつけています。正規表現などを使用してこれを行うことができると思います。
使用できますpreg_match
preg_match('/^!(\w{3})\((\d+),(\d+)\)$/', $string, $matches);
次に$matches
含まれます:
matches: Array
(
[0] => !fun(10,20)
[1] => fun
[2] => 10
[3] => 20
)
私は正規表現の専門家ではありません。削減できる場合はお気軽にコメントしてください。
$string=!fun(10,20);
$arr=array('!','(',')',',');
$string=str_replace($arr,'_',$string);
$exp_string=explode('_',$string);
print_r($exp_string);
$pattern = '#\!([a-zA-Z]+)\(([0-9]+),([0-9]+)\)#s';