我有像这样的正则表达式
'#/somestring/[-a-z0-9]+([0-9]+)/#'
像这样的字符串
http://www.localhost.dev/somestring/test-2014-test-153/
我需要抓取“153”部分网址,这是一个帖子ID,但现在我只抓取“3”,即id部分的最后一位。 我试图用“*”,“。”,“{1,}”修改表达式,但没有成功。
更新
抱歉,忘记提及,'somestring'部分,也必须检查,这是控制器路线。
答案 0 :(得分:2)
你需要的是这个简单的正则表达式。它可以使用或不使用尾部斜杠。第一组将包含该号码。
somestring\/.+?(\d+)\/?$
(如果您的测试用例的最后一段不是最后一段,那么您可以使用somestring\/.+?(\d+)\/
- DEMO)
答案 1 :(得分:1)
也许这符合您的需求:
\-([0-9]+)\/
答案 2 :(得分:1)
-(\d+)/
这将有效,如果你在混乱中尝试一个类似的网站
http://regexpal.com/
答案 3 :(得分:0)