我正在循環訪問一個數組,並且有多個條目可以像這樣返回。來自複雜字符串的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