我有以下字符串:
!fun(10,20)
我正在尝试将其拆分为以下组成部分:
!
, fun
, 10
,20
the!
始终是第一个字符。Thefun
始终是 之后的下一个 3 个字符, the 将始终跟在左括号之后!
,10
the(
将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';