Странные регэкспы

TsarAlex

Новичок
Странные регэкспы

Подскажите что означает регэксп: (.*?) ?
И чем он отличается от (.*) ?
 

Yurik

/dev/null
(.*) - найти любой субпаттерн
Такое выражение называется "greedy" - "жадное" потому что оно хавает субпаттерн между самым первым и самым последним матчем
Например
<a>1</a> бла бла <a>2</a>
Если выцепляем все что между <a> то "жадный" регексп выдаст
<a>1</a> бла бла <a>2</a>

Чтобы он выдавал то что мы ожидаем - дописываем один из следующих qualifiers: *?, +?, ??, or {m,n}?, который значит дословно "match as little text as possible"

<a>1</a> бла бла <a>2</a>
 
Сверху