Форум программистов, компьютерный форум, киберфорум
Boost C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/14: Рейтинг темы: голосов - 14, средняя оценка - 4.64
 Аватар для stawerfar
150 / 64 / 8
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1

Регулярные выражения Boost::regex

26.07.2012, 14:30. Показов 2627. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, разбирал пример с учебника (регулярные выражения) и столкнулся не понятным явлением.
Задание:
Выбрать номера только такого типа : (123)456-7890 и 123-456-7890.
Вот регулярное выражение с учебника для решения этой задачи: (\()?\d{3}(?(1)\)|-)\d{3}-\d{4}
Вот БД из которой выбираем:
№1 123-456-7890
№2 (123)456-7890
№3 (123)-456-7890
№4 (123-456-7890
№5 1234567890
№6 123 456 7890
№7 _123_123-1234
Выражение вроде бы правильное но результаты вот такие:№1,№2, и №4! Почему не срабатывает регулярное выражение? я проверял это на "Тестере регулярных выражений" и с помощью boost::regex
Результат одинаковый не работает правильно и все.
Вот релиз на С++ сильно не пинать..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
........
 
file.open("f.txt");
t_String str;
 
t_RegExp regex8("(\\()?\\d{3}(?(1)\\)|-)\\d{3}-\\d{4}");
    
    while(getline(file,str))
    {
        if(t_Boost::regex_search(str,regex8))
        {
            std::cout << "#" << line+1 << "\t" << str << std::endl;
        }
        else
        {
            std::cout << "#" << line+1 << "\t" << "FAIL" << std::endl; 
        }
        line++;
    }
..........
Подскажите в чём причина?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.07.2012, 14:30
Ответы с готовыми решениями:

Регулярные выражения Boost::regex
Всем привет! Юзаю библиотеку boost. В частности boost::regex. Столкнулся с такой проблемой. Как заставить библиотеку обрабатывать...

Boost и регулярные выражения
Добр день. У меня возникла проблема с регулярными выражениями на C++, среда RAD 2010, C++ Builder, библиотека Boost. В Memo имеется...

Регулярные выражения.Boost.
Суть вопроса такова.Я установил boost, убил на это 3 часа,но все же установил :) Так вот,все работает,никак не нарадуюсь привычным из php...

2
 Аватар для stawerfar
150 / 64 / 8
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
26.07.2012, 14:41  [ТС]
Вот скрин
Миниатюры
Регулярные выражения Boost::regex  
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
26.07.2012, 21:00
Цитата Сообщение от stawerfar Посмотреть сообщение
Подскажите в чём причина?
Убери у этой строки первый символ и посмтри, что получится.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.07.2012, 21:00
Помогаю со студенческими работами здесь

Регулярные выражения в boost - что-то не разберусь
Привет! Глянул примеры использования boost по части регулярных выражений. Написал следующий код: void...

RegEx Boost
Доброго времени суток. Ребята у меня во время выполнения программы, сама программа ругается на регулярное выражение. Может кто сталкивался,...

Проблема с boost-regex
Код программы: #include &lt;iostream&gt; #include &lt;boost/regex.hpp&gt; using namespace std; int main() { boost::regex...

Необработанное исключение Boost::Regex
Только начал изучение буста - решил начать с регулярных выражений, т.к. они в данный момент требуются. Всё собрал, установил, во время...

Не собирается проект с boost::regex
Установил boost, подключил все к Dev-C++(в параметрах компилятора в библиотеки добавил C:\Boost\lib, в включаемые файлы С++...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru