Jump to content

Regexpression Matching Whole String


Manixat

Recommended Posts

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

.* 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: '([^']*)'

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.