我正在创建一个php脚本,我需要将一些值导入到变量中,并且我被困在一个变量中。
$data[7]='/47/NSW/5643256'
I want $data[7]='5643256'
如何匹配“/”并打印第二个匹配的图案?尝试使用
awk
无效:(请帮帮我。
提前谢谢
最佳答案
不清楚您是否想要php
或shell
脚本,但是
如果您想要的是一个由php代码触发的脚本,您可以使用下面的一个解决方案,使用cut
,grep
,awk
,sed
:
echo '/47/NSW/5643256' | rev | cut -f-1 -d'/' | rev
5643256
echo '/47/NSW/5643256' | grep -oE '[0-9]+$'
5643256
echo '/47/NSW/5643256' | awk -F'/' '{print $NF}'
5643256
echo '/47/NSW/5643256' | sed 's@.*/\([0-9]\+\)$@\1@'
5643256
如果您想要的是
php
,那么您有几个解决方案:$data[7]='/47/NSW/5643256'
$data[7]=preg_replace(".*\/([0-9]+)$", '\1', $data[7]);
或
$data[7]= end(explode('/',$data[7]));
或
preg_match('(?<=\/)([0-9]+)$', $data[7], $m );
$data[7]=$m[1];