preg match — PHP preg_match между твердыми правилами бесконечности

Мне нужно что-то вроде

preg_match ((element1) (. *?)если-(Количество:) ([^ 0])-возвратная ИСТИНА, $ Ул);

но (.*?) все испортил, потому что он пропускает каждый (Quantity:)(0) прежде чем находит (Quantity:)([^0]) из другого элемента, например (item2) идти рядом с (element1)

element1 случайный: случайный Количество: 0 element2 random: random Количество: 0 item1 random: random Количество: 0 item2 random: random Количество: 999

Так, как я могу сказать, что PHP делать строго по (Quantity:)([^0]) и вернуть ИСТИНА, но если это (Quantity:)(0) вернуть ЛОЖЬ и не играть со мной, делая бесконечное восстановление (Quantity:)(0) как (.*?) тоже?

ОБНОВЛЕНИЕ ЖИВОЙ ОБЗОР это то, что я хочу http://www.regexr.com/3a3jn это то, чего я не хочу, чтобы случилось http://www.regexr.com/3a3jq разместите его как текст для ссылок на примеры, и вы поймете, о чем я говорю

{ «SkuAttr»: «14: 200001438 # 8; 5: 100014064», «skuPropIds»: «200001438,100014064», «skuVal»: { «actSkuBulkCalPrice»: «3,05», «actSkuBulkPrice»: «3,05», «actSkuCalPrice «:» 3,47″ , «actSkuDisplayBulkPrice»: «США
$ 3,05» , «actSkuMultiCurrencyBulkPrice»: «3,05», «actSkuMultiCurrencyCalPrice»: «3,47», «actSkuMultiCurrencyDisplayPrice»: «3,47», «actSkuMultiCurrencyPrice»: «США
$ 3,47» , «actSkuPrice»: «3,47», «availQuantity»: 999, «bulkOrder»: 5, «инвентарь»: 999, «isActivity»: правда, «skuBulkCalPrice»: «3,32», «skuBulkPrice»: «3,32» «skuCalPrice»: «3,77», «skuDisplayBulkPrice»: «США
$ 3,32» , «skuMultiCurrencyBulkPrice»: «3,32», «skuMultiCurrencyCalPrice»: «3,77», «skuMultiCurrencyDisplayPrice»: «3,77», «skuMultiCurrencyPrice»: «США
$ 3.77» , «skuPrice»: «3,77»}}, { «skuAttr»: «14: 200001438 # 8; 5: 100014065», «skuPropIds»: «200001438,100014065», «skuVal»: { «actSkuBulkCalPrice»:» 3,05″ , «actSkuBulkPrice»: «3,05», «actSkuCalPrice»: «3,47», «actSkuDisplayBulkPrice»: «США
$ 3,05» , «actSkuMultiCurrencyBulkPrice»: «3,05», «actSkuMultiCurrencyCalPrice»: «3,47», «actSkuMultiCurrencyDisplayPrice»: «3,47», «actSkuMultiCurrencyPrice»: «США
$ 3,47» , «actSkuPrice»: «3,47», «availQuantity»: 0, «bulkOrder»: 5, «инвентарь»: 0, «isActivity»: правда, «skuBulkCalPrice»: «3,32», «skuBulkPrice»: «3,32» «skuCalPrice»: «3,77», «skuDisplayBulkPrice»: «США
$ 3,32» , «skuMultiCurrencyBulkPrice»: «3,32», «skuMultiCurrencyCalPrice»: «3,77», «skuMultiCurrencyDisplayPrice»: «3,77», «skuMultiCurrencyPrice»: «США
$ 3,77» , «skuPrice»: «3,77»}}

1

Решение

Я нашел душевность

preg_match('/14:200001438#8;5:100014065.*?availQuantity":(\d+)/', $str);

и затем мы проверяем, если (\d+) равно 0 или любое число

Живой пример http://www.regexr.com/3a3k0

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]