Manixat Posted November 27, 2012 Share Posted November 27, 2012 (edited) Ok so I'm getting pretty annoyed after 30 minutes of non-success, I have an array and I'm trying to match every element individually but it matches the whole string to the very end ??? $cities = array('Видин','Монтана','Враца','Плевен','Велико Търново','Русе','Разград','Силистра','Добрич','София област','Ловеч','Габрово','Търговище','Шумен','Варна','София','Перник','Кюстендил','Пазарджик','Пловдив','Стара Загора','Сливен','Ямбол','Бургас','Благоевград','Хасково','Кърджали','Смолян'); regexp: ,'(.*)' supposed to find - ,'Монтана' ,'Враца' etc. but instead returns the whole array ??? I also tried ,('.*') but the result was the same and ,'(\w*)' doesn't return anything Edited November 27, 2012 by Manixat Quote Link to comment https://forums.phpfreaks.com/topic/271243-regexpression-matching-whole-string/ Share on other sites More sharing options...
.josh Posted November 27, 2012 Share Posted November 27, 2012 .* is a greedy matchall, so it will match everything it can and then start working its way backwards, only giving up what it has to, to meet the rest of the pattern requirements. What you want is a lazy matchall: '(.*?)' This will only match up to first time it needs to match to fulfill its requirement. Alternatively, you can use a negative character class: '([^']*)' Quote Link to comment https://forums.phpfreaks.com/topic/271243-regexpression-matching-whole-string/#findComment-1395645 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.