1
我有這樣的代碼:正則表達式找到最後一個整數一行
23561623:page[1].12
6461620:page[3].7
43631619:page[1].1
265461620:page[6].2
21461621:page[1].10
我得就像12,7,1,2,10等的最後一個整數能有人幫忙寫preg_match所以我可以得到它?
由於提前, 幸運
我有這樣的代碼:正則表達式找到最後一個整數一行
23561623:page[1].12
6461620:page[3].7
43631619:page[1].1
265461620:page[6].2
21461621:page[1].10
我得就像12,7,1,2,10等的最後一個整數能有人幫忙寫preg_match所以我可以得到它?
由於提前, 幸運
$str = '23561623:page[1].12';
$parts = explode('.', $str);
echo $parts[1];
如果你必須使用preg_match
(即使它沒有必要在這裏):
$str = '23561623:page[1].12';
$matches = array();
if (preg_match('/\.(\d+)$/', $str, $matches)) {
echo $matches[1];
}
其他的答案似乎認爲總會有成爲一段時期;可能會有,但下面並沒有做出這樣的假設。
如果你有這樣的字符串中的一個塊,你可以運行這個正則表達式代碼:
if (preg_match_all('/(\d+)\s*$/m', $str, $matches)) {
// $matches[1] contains all the integers
}
它的最後一組數字((\d+)
)匹配任選隨後空白(\s*
),直到行末($
)。 /m
修飾符使$
表現爲行尾而不是主題結束。
我不得不刪除我的答案,因爲它是如此劣等。 +1! – Matt
下面是正則表達式和主題字符串的解釋和可視化:http://regex101.com/r/vL7fN9 –
非常感謝。你是天才。它快速而精湛。 – saint