Название: Регулярка для QRegExp. Отправлено: setjmp от Август 21, 2010, 19:52 Помогите написать регулярное выражение для поиска e-mail адресов в тексте. Нашел в интернете множество, но ни один из них не работает в qt при помощи класса QRegExp. Заранее очень благодарен.
Название: Re: Регулярка для QRegExp. Отправлено: merke от Август 21, 2010, 20:32 Можешь поступить по другому не используя регекспы, в цикле проходи твой текст, как только нарываешься на @(собачку) вырезай например mid'ом мыльник от позиции собачки влево до первого пробела и до позиции пробела справа от собачки.
Название: Re: Регулярка для QRegExp. Отправлено: BRE от Август 21, 2010, 20:35 Можешь поступить по другому не используя регекспы, в цикле проходи твой текст, как только нарываешься на @(собачку) вырезай например mid'ом мыльник от позиции собачки влево до первого пробела и до позиции пробела справа от собачки. А если это будет чем-то типа этого?djfhdksjfh dfsf@sdfsdfd@dfsdfsdfsdf sdfsdf Название: Re: Регулярка для QRegExp. Отправлено: setjmp от Август 21, 2010, 20:41 Можешь поступить по другому не используя регекспы, в цикле проходи твой текст, как только нарываешься на @(собачку) вырезай например mid'ом мыльник от позиции собачки влево до первого пробела и до позиции пробела справа от собачки. А если это будет чем-то типа этого?djfhdksjfh dfsf@sdfsdfd@dfsdfsdfsdf sdfsdf Название: Re: Регулярка для QRegExp. Отправлено: merke от Август 21, 2010, 20:43 в инете море примеров где используются рекспы для выбирания мыльников, поищи хорошо
Название: Re: Регулярка для QRegExp. Отправлено: merke от Август 21, 2010, 20:46 например вот: заточи под кути /^([a-z,0-9,_,\-,\.])+\@([a-z,0-9,_,\-])+(\.([a-z,0-9])+)+$/
Название: Re: Регулярка для QRegExp. Отправлено: merke от Август 21, 2010, 20:48 вот ещё ^[0-9a-z][.\-\w]*@(?:[0-9a-z][\-0-9a-z]*[0-9a-z]\.)+[a-z]{2,6}$
Название: Re: Регулярка для QRegExp. Отправлено: merke от Август 21, 2010, 20:49 Вот заточка на кутях QRegExp re("^[a-zA-Z][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$")
Название: Re: Регулярка для QRegExp. Отправлено: setjmp от Август 21, 2010, 20:52 Вот нарыл. Дам пример с кодом:
Код: QStringList Core::GetMail(QString from2) Код: QString buff2 = "Моё мыло hrom@xakep.ru"; Название: Re: Регулярка для QRegExp. Отправлено: zenden от Август 22, 2010, 12:03 Кто-нибудь знает, собирается ли Nokia сделать нормальный Regexp
Я имею ввиду совместимый с общепризнанным стандартом PCRE ? Название: Re: Регулярка для QRegExp. Отправлено: Авварон от Август 22, 2010, 12:13 Цитировать QRegExp is modeled on Perl's regexp language. Вам что-то не нравится? В любом случае, где бы мне не приходилось юзать регулярки, они были своиНазвание: Re: Регулярка для QRegExp. Отправлено: zenden от Август 22, 2010, 14:03 Не устраивает хотя бы тем, что не поддерживает символ '?' для обозначения ленивых квантификаторов
и из-за этого теряется совместимость даже с простейшими регулярками. Название: Re: Регулярка для QRegExp. Отправлено: crossly от Август 22, 2010, 14:07 Цитировать Не устраивает хотя бы тем, что не поддерживает символ '?' для обозначения ленивых квантификаторов перед тем как распалятся нужно внимательно читать документацию.... setMinimal(bool)Название: Re: Регулярка для QRegExp. Отправлено: zenden от Август 22, 2010, 14:12 Цитировать Не устраивает хотя бы тем, что не поддерживает символ '?' для обозначения ленивых квантификаторов перед тем как распалятся нужно внимательно читать документацию.... setMinimal(bool)Я внимательно читаю документацию, и про эту функцию знаю, но она не является эквивалентом символа '?' и не делает выражения совместимыми. Она устанавливает нежадность для всего выражения, а '?' только для одного квантификатора. |