Здравствуйте, гость ( Вход | Регистрация )
kwisp | Дата 3.3.2010, 16:02 |
ясно. я пример привел, относительно первого поста. выже не сказали что <pod> может быть сколько угодно. вам уже подсказали QRegExp::setMinimal() kwisp, это не подходит, потому что этих <pod> может быть сколько угодно. подойдёт с небольшим изменением. описываю регулярку словами, скорее всего в коде ошибусь. всё от начала строки или "</pod>" до "<pod>" затем всё до конца строки либо "</pod>"
всё равно в регулярке "ошибся" последнее слово не схавает. минутку можно так попробовать
если начало строки не <pod> то нечетные элементы списка это элементы первого списка, четные это элементы второго. || так
|
|
Litkevich Yuriy | Дата 3.3.2010, 15:39 |
Ponter ты забыл: сделать её не жадной. |
|
Ponter | Дата 3.3.2010, 14:37 |
kwisp, это не подходит, потому что этих <pod> может быть сколько угодно. Можете подсказать регулярные выражения для обоих случаев для выборки простого текста и внутри тегов. <pod>.*</pod> для первого случая не подходит |
|
Ponter | Дата 3.3.2010, 14:24 |
Ошибся. Вот так написал: QStringList txtList = txt_text->toPlainText().split(QRegExp("<var>.*</var>")); и вывелось "Введите в поле код "и все |
|
kwisp | Дата 3.3.2010, 14:24 |
можно еще воспользоваться QRegExp::cap(int n) следующим образом, к примеру:
|
|
Ponter | Дата 3.3.2010, 14:16 |
<pod>.*</pod> сделать её не жадной. Эта регулярка будет соответствовать: <pod>kod_value</pod> <pod>two_kod</pod> И её использовать в функции split. Пишу QStringList txtList = txt_text->toPlainText().split(QRegExp("<pod>*.</pod>")); получается txtList имеет один элемент, это вся строка которая рассматривается,не выходит:( |
|
Litkevich Yuriy | Дата 3.3.2010, 13:34 |
Я думаю, тут в два захода надо делать. Такую регулярку взять за основу: <pod>.*</pod> сделать её не жадной. Эта регулярка будет соответствовать: <pod>kod_value</pod> <pod>two_kod</pod> И её использовать в функции split. Соответственно получишь: Введите в поле код для сохранения А за второй заход выделять то, что внутри тэгов |
|
Ponter | Дата 3.3.2010, 12:59 |
Всем привет, подскажите, пожалуйста, как в строке, например: "Введите в поле код <pod>kod_value</pod> для <pod>two_kod</pod> сохранения" Выдрать отдельно два QStringList ("Введите в поле код ", "для" "сохранения") и ("kod_value" и "two_kod") ? Пытался сделать через регулярное выражение и split, но не получается...есть идеи какие-нибудь? |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 19.1.2025, 4:09 |