Russian Qt Forum
Ноябрь 24, 2024, 04:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Особенности маскирования прямых слешей в QRegExp  (Прочитано 2673 раз)
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« : Январь 11, 2016, 00:43 »

У меня есть строка вида:
Код:
href="mytetra://note/14433417722c6dzjr63c";

В строке меняется только последняя часть - это уникальный идентификатор.

И не работает следующая функция:
Код:
bool ReferenceFormatter::isHrefInternal(QString href)
{
  if(href.contains(QRegExp("^mytetra://note/\\w$")))
    return true;
  else
    return false;
}

То есть, с тестовой строкой возвращает false, хотя функция должна возвращать true.

Я пробовал варианты:

Код:
if(href.contains(QRegExp("^mytetra:\/\/note\/\\w$")))

Код:
if(href.contains(QRegExp("^mytetra:\\/\\/note\\/\\w$")))

Код:
if(href.contains(QRegExp("^mytetra\:\/\/note\/\\w$")))

Код:
if(href.contains(QRegExp("^mytetra\\:\\/\\/note\\/\\w$")))


Но ни один на тестовой строке не срабатывает правильно.

Каким должно быть регулярное выражение, проверяющее данную строку?
« Последнее редактирование: Январь 11, 2016, 00:47 от xintrea » Записан

Собираю информацию по крупицам
http://webhamster.ru
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Январь 11, 2016, 01:56 »

^mytetra://note/\\w+$
Записан

__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #2 : Январь 11, 2016, 09:31 »

А вам не подойдёт такой вариант?
Код
C++ (Qt)
bool ReferenceFormatter::isHrefInternal(QString href){
 return href.startsWith("mytetra://note/");
}
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.144 секунд. Запросов: 23.