Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ QRegExp как выловить квадратные скобки?

Автор: Shaitan 19.7.2015, 13:05

:blink:Добрый день всем.
Решил для ознакосления, написать простенький парсер. Нужно обработать строку. Нужно отловить первое вхождение одного из символов "=+-[]{} /)*(),.;"

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) *
Попробуйте \\[ (два слеша, один для компилятора, другой для регекспа).

Спасибо! Получилось.
Осталься второй вопрос....как исключить из выборки одинарные и двойные кавычки?

кавычки экранируются точно так же

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)