2012-04-21 3 views
2

У меня есть два регулярные выражения:разница между двумя регулярными выражениями

«(\w+\.)+?» 

и

«(\w+\.)+» 

Я думаю, что первые из них будут пытаться найти минимум шаблона, но к следующему, я дон Не знаю.

Есть ли у кого-нибудь идеи?

+0

возможный дубликат [Разница между ними. *? и. * для regex] (http://stackoverflow.com/questions/3075130/difference-between-and-for-regex) –

ответ

4

Это называется «жадным» по сравнению с «не жадным», есть хороший обзор here.

Рассмотрим что-то проще:

.+?\s 

Если текст это предложение, первый пример будет соответствовать «Если», так как «?» он ищет минимально возможное совпадение.

.+\s 

Если это предложение будет подкрепляются вторым примером, все предложение будет возвращено (до.), Так как это самый большой матч.

+0

Я пробовал эту страницу: http://myregexp.com/ для: abcde с обоими regex я написал, они, похоже, не имеют разницы –

+0

Они разные: http://rubular.com/r/amtrupqzsA по сравнению с http://rubular.com/r/HQ5DZlgtRN –

+0

для первого, есть 4 и для другого, есть только одно групповое совпадение –

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