我正在循环访问一个数组,并且有多个条目可以像这样返回。来自复杂字符串的PHP解析数
llll-aaaa-dddd.zzzz-124
xxd98sss-61
fff.sss-ddx-74
我需要在PHP的方式在每次迭代的最后冲刺后,解析出最后一个号码,让我可以在另一个函数调用中使用它。
这些条目可能有其他的破折号,其他数字等......但最后一个数字总是有一个连字符,然后是数字。连字符后面只需要完整的最后一个数字。
任何正则表达式的大师能够伸出援手吗?
我正在循环访问一个数组,并且有多个条目可以像这样返回。来自复杂字符串的PHP解析数
llll-aaaa-dddd.zzzz-124
xxd98sss-61
fff.sss-ddx-74
我需要在PHP的方式在每次迭代的最后冲刺后,解析出最后一个号码,让我可以在另一个函数调用中使用它。
这些条目可能有其他的破折号,其他数字等......但最后一个数字总是有一个连字符,然后是数字。连字符后面只需要完整的最后一个数字。
任何正则表达式的大师能够伸出援手吗?
这是一个简单的正则表达式,几乎不需要上师。
preg_match('/-(\d+)$/', $line, $match);
$num = $match[1];
\d+
匹配的数字序列,并$
所述字符串的末尾匹配。圆括号定义了一个捕获组,并且$match[1]
包含该组的内容。
谢谢,这完美的工作! – superm
已尝试过preg_match("/(\d*)$/", $input_line, $output_array)
。它返回字符串末尾的数字
preg_match("/(-\d*)$/", $input_line, $output_array);
。这会返回最后的数字以及大肆宣传“ - ”。
在短划线上爆炸,得到数组的最后一个元素 – 2015-10-15 04:06:51
我认为'。* - (\ d +)'会做到这一点。负数和中间数字会有问题。 – chris85