来自复杂字符串的PHP解析数

时间:2015-10-15 04:05:45

标签: php regex

我循环遍历数组,并且有多个条目会像这样返回。

llll-aaaa-dddd.zzzz-124
xxd98sss-61
fff.sss-ddx-74

我需要一种PHP方法来解析每次迭代后最后一个破折号后的最后一个数字,以便我可以在另一个函数调用中使用它。

这些条目可能有其他破折号,其他数字等......但最后一个数字将始终有一个连字符,然后是数字。我只需要在连字符后面的完整的最后一个数字。

那里的任何正则表达大师能够伸出援手吗?

2 个答案:

答案 0 :(得分:1)

这是一个简单的正则表达式,几乎不需要大师。

preg_match('/-(\d+)$/', $line, $match);
$num = $match[1];

\d+匹配一系列数字,$匹配字符串的结尾。括号定义了一个捕获组,$match[1]包含该组的内容。

答案 1 :(得分:0)

尝试过此preg_match("/(\d*)$/", $input_line, $output_array)。它返回字符串末尾的数字

preg_match("/(-\d*)$/", $input_line, $output_array);。这将返回最后的数字以及炒作“ - ”。