Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
11 / 11 / 3
Регистрация: 10.03.2013
Сообщений: 104

Проверить, является ли строка email

24.11.2013, 19:21. Показов 1307. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
задача: написать программу для проверки является ли строка имейлом. первый вопрос. Какую лучше использовать библиотеку и где достаточно понятно изложены основы рег выражений в си?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.11.2013, 19:21
Ответы с готовыми решениями:

Проверить, является ли строка палиндромом
Cчитать из файла строку. Проверить, является ли она палиндромом. Пробелы игнорировать.

Проверить, является ли заданная строка палиндромом
Проверить, является ли данная строка палиндромом. Пробелами и прописными буквами пренебрегать (напр., строка «А роза упала на лапу Азора»...

Проверить, является ли строка допустимым идентификатором языка «С»
Описать функцию IsIdent целого типа, проверяющую, является ли строка S (переданная в качестве параметра) допустимым идентификатором языка...

4
651 / 404 / 76
Регистрация: 21.09.2008
Сообщений: 1,396
24.11.2013, 21:15
В Си нет регулярных выражений. Есть сторонние библиотеки, например, PCRE (Perl Compatible Regular Expressions). Собственно по регулярным выражениям очень подробно можно прочесть в книгах:
1. Ян Гойвертс, Стивен Левитан "Регулярные выражения. Сборник рецептов", 2010 г., изд-во "Символ-Плюс".
2. Джеффри Фридл "Регулярные выражения(3-е изд.)", 2008 г., изд-во "Символ-Плюс".
1
98 / 94 / 16
Регистрация: 16.05.2010
Сообщений: 310
25.11.2013, 22:54
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
#include <iostream>
#include <string>
#include <regex>
 
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    string text, xRegEx;
    cout << "Enter text: \n";   
    getline(cin, text);
    
    boost::regex xRegEx("^([a-z0-9_-]+\.)*[a-z0-9_-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]{2,6}$");
    if(boost::regex_match(text, , xRegEx))
        cout << "This is Email" << endl; //таки да, эмейл
    else
        cout << "It's not Email" << endl; //таки нет
 
        system("pause");
    return 0;
}
вроде как-то так... не проверял

 Комментарий модератора 
Данный раздел форума посвящён языку C, а не C++
1
11 / 11 / 3
Регистрация: 10.03.2013
Сообщений: 104
26.11.2013, 00:33  [ТС]
После того как подключил boost попробовал скомпилить прогу - ругается на вот эту строчку if(boost::regex_match(text,, xRegEx))
0
98 / 94 / 16
Регистрация: 16.05.2010
Сообщений: 310
26.11.2013, 03:26
попробуйте следущее:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "stdafx.h"
#include <iostream>
#include <string>
#include <boost\regex.hpp>
//#include <regex>
 
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    string text;
    string templat = "^([a-z0-9_-]+\.)*[a-z0-9_-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]{2,6}$";
//  string templat = "/@/";  -- на всякий случай, совсем уж простое выражение на проверку 
    boost::smatch what; 
    cout << "Enter text: \n";   
    getline(cin, text);
 
    if(boost::regex_match(text, what, boost::regex(templat)))
        cout << "This is Email" << endl; //таки да, эмейл
    else
        cout << "It's not Email" << endl; //таки нет
    system("pause");
 
    return 0;
}
 Комментарий модератора 
Данный раздел форума посвящён языку C, а не C++
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.11.2013, 03:26
Помогаю со студенческими работами здесь

Проверить является ли строка формата address@site.com
помогите написать программу ,которая получает строки ,отделенные пробелами ,в качестве параметров командной строки. проверить является ли...

Проверить, является ли строка представлением числа (вещественного или целого)
По заданию мне надо проверять число ли строка, если да то вещественное или целое. А также отрицательное ли оно. Первое условие я сделал,...

Рекурсия: проверить, является ли строка 16-ной записью числа и вернуть 10-ое значение
помогите сделать программу с рекурсией, без смог сделать, а с рекурсией не получается Задание: сделать функцию которая проверяет...

Проверить, является ли введенная строка названием страны, которые находятся в текстовом файле
Помогите с реализацией идеи. К примеру у меня есть текстовый файл, в котором написаны названия стран с каждой новой строки. в программе я...

Проверить, является ли введенное число является решением уравнения (составить блок-схему)
Составить блок-схему Проверить, является ли введенное число является решением уравнения {ax}^{4}+{bx}^{2}+cx=d ^ - степень ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru