PHP正则表达式匹配引号之间的文本

时间:2011-12-08 13:33:53

标签: php regex

我有以下文字......

B / H888 / QG我想从中提取H888。总是有两个转发斜杠封装它。

$subject = "B/H888/QG";
$pattern = '/(.+)/';
preg_match($pattern, $subject, $matches);
print_r($matches);

我能达到的最好是上面但是这是完全错误的输出

H888 / QG!

2 个答案:

答案 0 :(得分:4)

您需要分隔正则表达式模式,在这种情况下,/被视为分隔符。使用别的东西:

$pattern = '!/(.+)/!';

答案 1 :(得分:3)

为什么要使用正则表达式?只需使用explode

$subject = "B/H888/QG";
$pieces = explode( '/', $subject);
echo $pieces[1]; // Outputs H888

Demo

如果你必须使用正则表达式,你需要这样的东西:

$subject = "B/H888/QG";
$pattern = '/\/([\w\d]+)\//';
preg_match($pattern, $subject, $matches);
echo $matches[1]; // Outputs H888

Demo