我有以下字符串:
!fun(10,20)
我正在尝试将其拆分为以下组成部分:
!
,fun
,10
,20
!
始终是第一个角色。 fun
始终是!
之后的3个字符,10
将始终跟随开放式(
,20
将始终跟随第一个关闭括号前的逗号,
。
我尝试过使用PHP函数,但一直在撞墙。我假设我可以使用正则表达式或类似方法来做到这一点。
答案 0 :(得分:6)
您可以使用preg_match
preg_match('/^!(\w{3})\((\d+),(\d+)\)$/', $string, $matches);
然后$matches
将包含:
matches: Array
(
[0] => !fun(10,20)
[1] => fun
[2] => 10
[3] => 20
)
我不是正则表达式的专家,如果可以减少,请随时发表评论。
答案 1 :(得分:0)
$string=!fun(10,20);
$arr=array('!','(',')',',');
$string=str_replace($arr,'_',$string);
$exp_string=explode('_',$string);
print_r($exp_string);
找到更多信息
答案 2 :(得分:0)
$pattern = '#\!([a-zA-Z]+)\(([0-9]+),([0-9]+)\)#s';