Preg Match Extracting

时间:2016-04-22 10:36:45

标签: php regex preg-match

我想从字符串中提取字符串。

我有以下字符串:

"date-x-days"

我想提取"x",它可以是任何int值

我已经尝试过这种模式:〜(日期 - )*( - 天)〜 但它只给了我“date-”和“-days”,但我希望收到这个号码。

我该怎么做?

干杯, 尼古拉斯

3 个答案:

答案 0 :(得分:2)

它可以通过爆炸功能完成。尝试以下代码

$arr = explode('-','[date-x-days]');
echo $arr[1];

答案 1 :(得分:0)

$returnValue = preg_match('/-(\d+)-/', '[date-454-days]', $matches);
print_r($matches);

答案 2 :(得分:0)

使用此模式,您将捕获字符串的每个部分作为新值,因此如果您需要编辑某些内容,则可以轻松地执行此操作。

preg_match("/(date)-(\d+)-(days)/", "date-45-days", $output_array);
echo $output_array[2]; //45

Var_dump(output_array);//= 
array(4
   0    =>  date-35-days
   1    =>  date
   2    =>  35
   3    =>  days
)

在此处查看: http://www.phpliveregex.com/p/frp正如您所看到的那样,只有在所有部分按顺序存在时才会捕获。