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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: регулярное выражения. Помогите составить.  (Прочитано 4571 раз)
maks
Гость
« : Август 16, 2009, 00:02 »

Надо разобрать строку использую регулярные выражения(QRegExp).

В строке в качестве разделителей используется : которые могут встречаться n число раз.
Есть ситуация когда в строке может оказаться \n  тогда надо левую часть не разбирать а разбирать только правую часть строки после \n как такое реализовать?

Не получается написать само регулярное выражения.
Помогите.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Август 16, 2009, 12:00 »

ну вообще "\n" - это перевод строки, следовательно разбирать надо не каждую строку?
Записан

Юра.
SLiDER
Гость
« Ответ #2 : Август 16, 2009, 12:07 »

А чем Вас не устраивает вариант со сплитами Непонимающий
Код:
str.split(QLatin1Char('\n'))[1].split(QLatin1Char(':'))
Записан
maks
Гость
« Ответ #3 : Август 16, 2009, 12:36 »

Цитировать
ну вообще "\n" - это перевод строки, следовательно разбирать надо не каждую строку?
Да надо разобрать только вторую строку.

Цитировать
А чем Вас не устраивает вариант со сплитами Непонимающий
Код:
str.split(QLatin1Char('\n'))[1].split(QLatin1Char(':'))

Задача стоит чтобы сделать через регулярные выражения.
Записан
Rcus
Гость
« Ответ #4 : Август 16, 2009, 13:10 »

Код:
(?:.*\n)?([^:]*)(?::([^:]*))*
Как то примерно так, не проверял. Но решать такое через регулярки вместо сплита/автомата это изврат Улыбающийся
Записан
maks
Гость
« Ответ #5 : Август 16, 2009, 13:46 »

Не срабатывает.
В том случае если первой строки нету то склеивается начало и вторая часть разделенные : 
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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