2

我想使用preg_match (PHP) 从以下字符串值中找到整数值。我正在使用以下代码来查找整数值,它适用于正整数,但我需要正整数和负整数。谁能帮我??

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

到目前为止的 preg_match 代码:

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

4 回答 4

2

您的代码几乎就在那里:

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

您唯一需要添加的是可选的破折号前缀:

preg_match('/Status: (-?\d+)/', $queueinfo, $status1 );
于 2013-02-25T07:25:25.547 回答
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'];
于 2013-02-25T06:52:42.320 回答
0

试试看:

preg_match('/Status\:\s(\-?)(\d+)/', $queueinfo, $m);
$status1 = (int)($m[1].$m[2]);
于 2013-02-25T06:51:48.697 回答
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] => 数组([0] => -1 [1] => 12588))

于 2013-02-25T07:20:13.180 回答