我想从以下字符串值使用preg_match(PHP)找到整数值。我使用以下代码来查找整数值,它适用于正整数,但我需要正面和负面两者。任何人都可以帮助我吗?
字符串值:提示:状态:-1 响应:再见消息:感谢所有鱼。
到目前为止preg_match代码:
preg_match('/Status: (\d+)/', $queueinfo, $status1 );
答案 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))