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
<?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 に答える
0

試してみる:

preg_match('/Status\:\s(\-?)(\d+)/', $queueinfo, $m);
$status1 = (int)($m[1].$m[2]);
于 2013-02-25T06:51:48.697 に答える