请教正则表达式,只匹配到最后一个数字,后面的不算。。。

2018-08-18 10:49:18 +08:00
 pppguest3962

有以下字符串

stream-18

stream-45ABC77

stream-1231#786

stream-16998 786%99

stream-113' '786%99

stream-106 786%99

小弟不才,只能做出这种匹配:stream-(.*?)

把后面的内容全部都截取了,但只需要截取到连续数字的,最后一个数字

只截取

18

45

123

16998

113

106

求问应该如何修改这个正则表达式呢? 谢谢解答~

3369 次点击
所在节点    问与答
6 条回复
rrfeng
2018-08-18 10:52:53 +08:00
去看一遍正则表达式基础就会了。
Kirscheis
2018-08-18 10:56:42 +08:00
stream-(\d+)
pppguest3962
2018-08-18 11:00:24 +08:00
@rrfeng 正在找有什么好书。。。。

@Kirscheis,感谢感谢!!!!
littleylv
2018-08-18 11:17:20 +08:00
这是非常基础的正则了啊
实在不行找个在线正则的网站( http://tool.oschina.net/regex/ ),自己慢慢试,边学边理解
laydown
2018-08-18 11:54:53 +08:00
或许可行,没测试哈,试试:
steam-(\d+)(?=\D)

为什么第三个例子你要取 123,不是 1231 ?
ddzzhen
2018-08-18 22:40:44 +08:00
最笨的办法就是正则套正则

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/480931

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX