如何使用preg_match php从字符串中获取整数值

时间:2013-02-25 06:47:12

标签: php preg-match

我想从以下字符串值使用preg_match(PHP)找到整数值。我使用以下代码来查找整数值,它适用于正整数,但我需要正面和负面两者。任何人都可以帮助我吗?

字符串值:提示:状态:-1 响应:再见消息:感谢所有鱼。

到目前为止

preg_match代码:

preg_match('/Status: (\d+)/', $queueinfo, $status1 );

4 个答案:

答案 0 :(得分:2)

您的代码几乎就在那里:

preg_match('/Status: (\d+)/', $queueinfo, $status1 );

您需要添加的唯一选项是可选的短划线前缀:

preg_match('/Status: (-?\d+)/', $queueinfo, $status1 );

答案 1 :(得分:1)

$queueinfo  = 'Hint: Status: -1 Response: Goodbye Message: Thanks for all the fish.';
preg_match('/Status:\s*(?P<status>\-?\d+)/', $queueinfo, $match );  

echo $match['status'];

答案 2 :(得分:0)

试一试:

preg_match('/Status\:\s(\-?)(\d+)/', $queueinfo, $m);
$status1 = (int)($m[1].$m[2]);

答案 3 :(得分:0)

<?php
preg_match_all('/-\d+|(?!-)\d+/', 'String Value: Hint: Status: -1 Response: 12588 Goodbye Message: Thanks for all the fish.', $status1 );
print_r($status1);
?>

数组([0] =&gt;数组([0] =&gt; -1 [1] =&gt; 12588))