Название: Помогите разобраться с QRegExp Отправлено: vmprog от Июнь 29, 2010, 18:55 Есть вот такая строка: QRegExp rx_href("href=\"([^\"]*)\"");
Не могу разобраться как она работает. То, что ищет строку начинающуюся на href=\ это понятно, но вот что дальше мне не понятно:( Что означают: ([^\"]*) \"" Спасибо. Название: Re: Помогите разобраться с QRegExp Отправлено: SimpleSunny от Июнь 29, 2010, 19:02 \" кавычка экранируется, так как в с++ у нее особое значение
([^\"]*) вывести именно ссылку. Если грубо, то любой текст, который не заканчивается на " Название: Re: Помогите разобраться с QRegExp Отправлено: vmprog от Июнь 29, 2010, 19:50 Объясните если не трудно. Что ограничивается круглыми скобками (), а что []?
Как я понимаю \ экранирует символ стоящий справа от этой косой. Те если я вижу \\ значит ищется именно косая черта. Название: Re: Помогите разобраться с QRegExp Отправлено: SimpleSunny от Июнь 29, 2010, 20:39 Да, \ экранирует символ справа. \\ - одна черточка, \\\\ - 2 черточки. Так как в regexp у \ тоже свой особый смысл, то для поиска косой черты применяют \\\\.
[] - любой символ из перечисленных в скобках ([0-9],[abc]) или не перечисленных ([^0-9] все символы кроме цифр). () - используют для группировки элементов и их "захвата". К примеру необходимо разобрать номер телефона в таком формате 068-4434343 QRegExp r("([0-9]*)-([0-9]*)"); r.indexIn("068-4434343"); r.cap(1); //код оператора r.cap(2); //сам номер |