Автор: Shaitan 19.7.2015, 13:05
Добрый день всем.
Решил для ознакосления, написать простенький парсер. Нужно обработать строку. Нужно отловить первое вхождение одного из символов "=+-[]{} /)*(),.;"
i = str.indexOf(QRegExp("[=+-[]{} /)*(),.;]"),0);
Квадратные скобки пришлось сразу исключить, т.к. перестало вообще работать. Как мне указать чтоб и они находились? Это первый вопрос.
Второй вопрос... несмотря на то что я не указал двойные кавычки в списка, функция мне всё же их находила. Как мне их исключить?
Заранее всем спасибо.
Автор: maint 19.7.2015, 13:39
скобки экранируюся символом \
Т.е скобка будет \[ и \]
Автор: Shaitan 19.7.2015, 17:01
Цитата(maint @ 19.7.2015, 13:39)
скобки экранируюся символом \
Т.е скобка будет \[ и \]
Да я так писал.вообще перестаёт что либо находить.
Автор: lanz 20.7.2015, 9:57
Попробуйте \\[ (два слеша, один для компилятора, другой для регекспа).
Автор: Shaitan 22.7.2015, 18:55
Цитата(lanz @ 20.7.2015, 9:57)
Попробуйте \\[ (два слеша, один для компилятора, другой для регекспа).
Спасибо! Получилось.
Осталься второй вопрос....как исключить из выборки одинарные и двойные кавычки?
Автор: maint 23.7.2015, 5:37
Цитата(Shaitan @ 22.7.2015, 23:55)
Цитата(lanz @ 20.7.2015, 9:57)
Попробуйте \\[ (два слеша, один для компилятора, другой для регекспа).
Спасибо! Получилось.
Осталься второй вопрос....как исключить из выборки одинарные и двойные кавычки?
кавычки экранируются точно так же