为什么我的非贪婪模式(。*?)贪心?

时间:2016-01-26 00:37:27

标签: javascript regex

我有正则表达式模式的问题。我使用非贪婪的。*?,但它似乎也很贪心?你能帮帮我吗?

的myString:

myString = '{"testname":"mytest","type":{"aaa111":{"url":"http://www.test01.com"},"222bbb":{"url":"http://www.test02.com"},"ccc333":{"url":"http://www.test03.com"}}}';

myPattern:

/"(.*?)":{"url"/g

结果:

testname":"mytest","type":{"aaa111, http://www.test01.com"},"222bbb, http://www.test02.com"},"ccc333

但结果"应该"是:

aaa111, 222bbb, ccc333 

1 个答案:

答案 0 :(得分:0)

解决此问题的一种方法是确保它不匹配多个"(双引号)

"([^"]+?)":{"url

https://regex101.com/r/oU6eX4/1

虽然我同意其他评论,但可能有更好的解决方案不涉及正则表达式。