crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в QRegExp + \n
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
lioncub Дата 20.11.2009, 16:12
  kwisp, впринципе вот тут все описал с примером.
По твоему выражению, у тебя второе совпадение берет все символы, до конца файла, и получается на выходе в 4 совпадении будет последняя из "pic=" строка. 5-ое совпадение, нужно исключая \\n (ты об этом и написал, поставить, что нужно вместо ").
kwisp Дата 20.11.2009, 15:28
  lioncub,
нет, брат, давай разберёмся основательно.
выкладывай что ты хочеешь от регулярного выражения?
lioncub Дата 20.11.2009, 15:23
  kwisp, не много не то, но мысль понял....
Kagami Дата 16.11.2009, 17:31
  Проще открыть и читать его прострочно, анализируя структуру.
Litkevich Yuriy Дата 16.11.2009, 16:32
 
Цитата(lioncub @ 13.11.2009, 21:50) *
кодировка utf8
Цитата(kuzulis @ 16.11.2009, 19:11) *
Так это ж "галимый" *.ini файл... Может просто QSettings использовать для чтения?
QSettings использует только локальную кодировку :(
kuzulis Дата 16.11.2009, 16:11
  Так это ж "галимый" *.ini файл... Может просто QSettings использовать для чтения?
kwisp Дата 16.11.2009, 12:42
  вот
QRegExp reg("(\\[\\d+\\])(.*)(pic=)([^\"]+)([\\W+])");
думаю разберешься.
в 4ой круглой скобке(она определяет чему может быть равно pic) сам поставишь, я влепил "все кроме ковычки" я не знаю какое у тебя полное условие может "все кроме пробелов и проч."
пользоваться с помощью indexIn() и cap()

kwisp Дата 16.11.2009, 11:27
  извини, только случайно обнаружил последнее сообщение.

почемуто у меня отображалось что в этой теме нет новых сообщений. ???
lioncub Дата 13.11.2009, 18:50
  пожалуйста, если интересно:
Раскрывающийся текст
[996]
num=9
pic=Z0RVh0Q29tbWVud

[375.Velcite]
encoding=cp1251
key1=sdfcvsdva
key2=sdfsdcvsd
maxs=sdfsdfaxcvsdvg
no=sdfsdafsdfa
pic=dclmf;x
picl=sdffvasdfvsdv cv
post=1
ppict=1

[3.Trne.ytr]
encoding=utf-8
key1=sdfcvsdva
key2=sdfsdcvsd
maxs=sdfsdfaxcvsdvg
no=sdfsdafsdfa
pic=dclmf;x
picl=sdffvasdfvsdv cv
post=1

[5]
num=10
pic=ecmle;x

вот небольшой кусочек файла txt... кодировка utf8, перевод строки \r\n
как видно в файле есть "болки", нужно вытащить, из тех болков которые начинаются на [только_цифры] (выделил синим) кусок после pic= (выделил красным)
таких блоков много....

я думаю, разделить сначала на блоки, а потом взять то, что мне нужно!
ну а если одним регеспом, то это высший пилотаж...
kwisp Дата 13.11.2009, 18:26
 
Цитата(lioncub @ 13.11.2009, 18:19) *
QString::split() - не подойдет, это простейший пример...

давай не простейший пример.
ты хочешь разбить строку на подстроки и засунутьих в qStringList именно с помощью QRegExp ?


Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.4.2024, 16:16