正则求助一下

2017 年 6 月 24 日
 dream7758522
{a:123aaa111}{b:456aaa111}{c:789aaa111}{d:012aaa111}
想提取中括号中得第一组数字,
用正則
{.*?\d+
匹配出的是
{a:123
{b:456
{c:789
各位朋友能指导一下吗
1734 次点击
所在节点    问与答
9 条回复
vmebeh
2017 年 6 月 24 日
{.*?(\d+)
dream7758522
2017 年 6 月 24 日
@vmebeh 一样,没匹配出来
vmebeh
2017 年 6 月 24 日
匹配到之后需要再多一部取出括号内的匹配
如 Python
re.search(r'\{.*?(\d+)', '{a:123aaa111}{b:456aaa111}{c:789aaa111}{d:012aaa111}').group(0)={a:123
group(1)=123
group(2)={b:456}
group(3)=456
...

其他语言不清楚
gogohigh
2017 年 6 月 24 日
前缀长度能确定的话可以用环视,不能确定的话就只能分组捕获了
比如.*?(\d+)
输出 group1
cxbig
2017 年 6 月 24 日
也不说用什么语言。。。
通常都是加括号来取对应内容
ethanlu
2017 年 6 月 24 日
(\d{3})(?=aaa) 好了,http://regexr.com/3g7qq
songz
2017 年 6 月 25 日
/\d{3}(?=\w{3})/g
hzcxdgioa
2017 年 6 月 25 日
(?<=:)(\d*)
hzcxdgioa
2017 年 6 月 25 日
(?<=:)(\d+)

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

https://study.congcong.us/t/370844

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

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

© 2021 V2EX