0

我正在尝试使用正则表达式匹配以下模式:

Something-23432

我正在使用以下代码使用正则表达式找到它

preg_match('/^Something\-/[0-9/]+/', $msg, $matches);

它不工作:/。任何帮助,将不胜感激!

整个文档中只会出现一次上述 PATTERN。

编辑

<?php

preg_match('/^Something\-[0-9]+$/', "I am looking for Something-2343. I am not sure if this script can find it.", $matches);

print_r($matches);

?>

这段代码只是生成

Array ( )
4

2 回答 2

3

将您的行更改为:preg_match('/^Something\-[0-9]+$/', $msg, $matches);

<?php
    $msg="Something-23432";

    if( preg_match('/^Something\-[0-9]+$/', $msg, $matches)) {
           echo 'found';
            }
    else {
              echo "Not found";
            }

    print_r($matches);

?>

输出:

found Array ( [0] => Something-23432 )
于 2013-08-30T00:47:06.497 回答
1
preg_match('/Something\-[0-9]+/', $msg, $matches);

如果你特别想要五个字符,

preg_match('/Something\-[0-9]{5}/', $msg, $matches);
于 2013-08-30T00:44:38.670 回答