Manixat Posted November 27, 2012 Share Posted November 27, 2012 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 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: '([^']*)' Link to comment https://forums.phpfreaks.com/topic/271243-regexpression-matching-whole-string/#findComment-1395645 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.