PHP - 正则表达式 - 特定字符前的数字匹配

时间:2012-08-14 09:14:41

标签: php regex

我有这种字符串:

  

1234567890(没有特定字符数的数字) - (减去符号作为分隔符)文本

如何在 - 符号之前查看和提取数字?

2 个答案:

答案 0 :(得分:4)

使用这样的正则表达式:

preg_match('/^(\d+)/', '123-something', $match);

这将捕获从字符串开头到第一个非十进制数字的所有十进制数字,结果将在$match变量中。

if (preg_match('/^(\d+)/', $string, $match)) {
    $number = $match[1];
}

答案 1 :(得分:2)

使用preg_split()

$bla=preg_split('#(?<=\d)-(?=[a-z])#i', "1234567890-asdlkj");
echo $bla[0];

给出1234567890

如果您需要文本字段,可以使用

echo $bla[1];

给出asdlkj