2个字符串之间的正则表达式(仅限数字)

时间:2017-03-21 19:10:53

标签: regex

我有这个代码,我需要在“media_count”之间做一个正则表达式:和。 这意味着我最终只能使用370606,168,250,67

{"position": 0, "hash": {"media_count": 370606, "name": "fsdfs", "id": 17843681947041535}}, {"position": 34, "hash": {"name": "fsdfsd", "media_count": 168, "id": 17842650601031598}}, {"hashtag": {"name": "fsdfsd", "media_count": 250, "id": 17843868538053719}, "position": 17},  {"position": 7, "hashtag": {"name": "dgdfg", "id": 17854319125027806, "media_count": 67}}, 

任何事情都会被贬低

3 个答案:

答案 0 :(得分:1)

首先,你没有提到一种语言,所以我会给你一个perl答案。
您可以看到有关多个匹配here的问题 其次,对于perl,你的正则表达式将如下所示:
@mc = $your_string =~ /\"media_count\"\:\s*(\d+)/g
我的尝试:
test > perl -p -e '@list = $_ =~ /\"media_count\":\s*(\d+)/g; print "@list \n" ' somefile 370606 168 250 67

答案 1 :(得分:0)

"media_count":(?<=)\s*(\d+)\s*

example

第1组将包含您要查找的数字

或仅“media_count”之后的数字完全匹配:

(?<="media_count":\s)\d+\s*

答案 2 :(得分:0)

感谢你看到你的代码之后的帮助它才有意义..我最终使用了(?&lt; =&#34; media_count&#34;:)\ s *(\ d +)\ s *