使用preg_match的简单正则表达式

时间:2011-09-12 08:56:49

标签: preg-match

我试图在这个单词和半冒号之后检索三位数字。

REF:222

我下面的代码有效,但不好,因为它从$ decoding_message字符串中获取了3digit数字。

我真正想要的只是在REF这个词之后抓取三位数:###

if (preg_match("([0-9]{3})", $decoded_message, $matches)) {
  echo "Match was found <br />";
  echo "ref = ".$matches[0];

}

提前致谢

2 个答案:

答案 0 :(得分:1)

您可以使用

简单地替换“REF:”
$output = preg_replace("/REF: /","", "REF: 222");

之后,$ output中只包含该数字。

答案 1 :(得分:1)

您可以搜索REF: [0-9]{3},然后移除REF:部分。

if (preg_match("/REF: [0-9]{3}/", $decoded_message, $matches)) {
  echo "Match was found <br />";
  echo "ref = ".substr( $matches[0], 5 );
}