我有这个代码:
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
修饰符使得$
表现为行尾而不是主题结尾。