Re: regex
От: Кодт Россия  
Дата: 04.09.07 12:27
Оценка: 2 (1)
Здравствуйте, <Аноним>, Вы писали:

А>Есть вопрос по boost::regex.


А равно как по всем другим perl-compatible regexp'ам.

А>Есть ли разница между следующими выражениями и если есть, то какая: (\w+) и (\<\w+\>) ?

А>Если разницы нет, зачем в примерах исползуют (\<\w+\>) для матчинга слова а не просто (\w+)?

Разница такая, что \w+ может сопоставиться с фрагментом слова не с начала, а \<\w+ — строго по началу слова.
Например, ([0-9A-F]+?)(\w+) на строке badc0debaby совпадёт с (badc0)(debaby), (badc0d)(ebaby) ... (badc0debab)(y)
А ([0-9A-F]+?)(\<\w+) — только с (badc0)(debaby)

Конец слова — в зависимости от того, делаем мы поиск жадным или ленивым. \w+\> эквивалентно жадному поиску \w+
... << RSDN@Home 1.2.0 alpha rev. 655>>
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.