Russian Qt Forum
Мая 15, 2025, 02:40
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Регулярные выражения
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Регулярные выражения (Прочитано 3560 раз)
phpCoder
Гость
Регулярные выражения
«
:
Февраля 13, 2015, 09:47 »
Добрый день.
Сделал программу, которая сохраняет введенные регэкспы пользователем в INI файл (через QSettings, в винде). Все регулярки рабочие и ошибок в них нет.
Так вот когда я их считывают через QSettings из настроечного файла и вставляю в QRegularExpression, то они не работают.
Если открыть INI файл, скопировать выражение, убрав при этом лишние экранирующие символы, которые вставляет туда QSettings, в непосредственно в код программы записать - то все работает.
Вопрос: че за хрень? Может кто сталкивался? Что делать?
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Регулярные выражения
«
Ответ #1 :
Февраля 13, 2015, 10:00 »
Посмотрите дебагером, что у вас приходит из ini
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Регулярные выражения
«
Ответ #2 :
Февраля 13, 2015, 11:36 »
А зачем сохраняешь/читаешь строкой, а не сразу QRegularExpression
Записан
Qt 5.11/4.8.7 (X11/Win)
phpCoder
Гость
Re: Регулярные выражения
«
Ответ #3 :
Февраля 13, 2015, 12:06 »
Все, нашел причину.
В файл надо сохранять текст выражения такой же, как используется в коде PHP, т.е. без дополнительных слешей как в C++ (из-за того, что только двойная кавычка означает строку). Т.е сохранять надо это:
Код
PHP
[
a
-
z
" ]\d+
а не это:
Код
C++ (Qt)
[
a
-
z\
" ]
\\
d+
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...