2014-12-17 6 views
1

мне нужно что-то вродеPHP preg_match Разногласия между пейзажными твердых правил

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

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

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

Так как я могу сказать PHP делать строго по (Quantity:)([^0]) и возвращать TRUE, но если это (Quantity:)(0) вернуть FALSE, а не играть со мной делать бесконечность regonising (Quantity:)(0) как (.*?) тоже?

UPDATE ЖИВОЙ PREVIEW это то, что я хочу 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,4 7" , "availQuantity": 999, "bulkOrder": 5, "инвентарь": 999, "isActivity": правда, "skuBulkCalPrice": "3,32", "skuBulkPrice": "3,32", "skuCalPrice": "3,77" , «skuDisplayBulkPrice»: «US $ 3,32», «skuMultiCurrencyBulkPrice»: «3.32», «skuMultiCurrencyCalPrice»: «3.77», «skuMultiCurrencyDisplayPrice»: «3.77», «skuMultiCurrencyPrice»: «US $ 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 »:« US $ 3.05 »,« actSkuMultiCurrencyBulkPrice »:« 3.05 »,« actSkuMultiCurrencyCalPrice »:« 3.47 »,« actSkuMultiCurrencyDisplayPrice »:« 3.47 »,« actSkuMultiCurrencyPrice »: US $ 3.47 "," actSkuPrice ":" 3.47 "," availQuantity ": 0," bulkOrder ": 5," inventory ": 0," isActivity ": true," skuBulkCalPrice ":" 3.32 "," skuBulkPrice ":" 3.32 "," skuCalPrice ":" 3.77 "," skuDisplayBulkPrice ":" US $ 3,32" , "skuMultiCurrencyBulkPrice": "3,32", "skuMultiCurrencyCalPrice": "3,77", "skuMultiCurrencyDisplayPrice": "3,77", "skuMultiCurrencyPrice": "США $ 3,77", "skuPrice": "3,77"}}

+0

Ваши требования не ясны, покажите нам примерные строки и ожидаемый результат. – Toto

ответ

0

Я нашел soultion

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

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

ЖИВОЙ ПРИМЕРhttp://www.regexr.com/3a3k0

 Смежные вопросы

  • Нет связанных вопросов^_^