crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Помогите составить регулярное выражение
void*
  опции профиля:
сообщение 12.6.2008, 9:42
Сообщение #1


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 28 раз(а)




Репутация:   3  


снова прошу о помощи :)
не могу составить нормальный регэксп, чтобы искать определение полученной переменной по текстовым полям. Вот что у меня пока что получилось:
QRegExp expression("\\b[A-Za-z0-9]+?\\s+?[A-Za-z0-9]+?\\s+?[A-Za-z0-9]+?\\s+?" + word + "(?)?\\b");

т.е. смысл в том, чтобы это было не больше трех слов разделенных любым количеством пробелов, и чтобы в конце могли находиться скобки(как у функции).
основная проблема в том, что я не знаю как бы сделать так, чтобы этот регэксп был применим и к двум словам, и к трем, т.е. любому кол-ву слов, но не больше трех + полученное мною слово при наведении + возможно скобки.
вобщем надо как-то сделать чтобы такой кусок кода:
[A-Za-z0-9]+

и такой
\\s+

считался за одно выражение (то ли в скобки поместить как-то..) для того чтобы можно было применить к нему "?"
[A-Za-z0-9]+?

надеюсь на вашу помощь и на то, что понятно выразился :)

Сообщение отредактировал void* - 12.6.2008, 9:54
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 12.6.2008, 13:05
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Могу только порекомендовать книжку по регэкспам: Дж. Фридл - Регулярные выражения.
Так как сам не силен в них.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
void*
  опции профиля:
сообщение 12.6.2008, 14:06
Сообщение #3


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 28 раз(а)




Репутация:   3  


разобрался вроде сам :) хвала Ассистенту и его великолепной документации, такой, что даже я - полный ноль в регэкспах и со своим слабым английским разобрался в них :D вот так получилось:
QRegExp expression("([A-Za-z0-9]+)?(\\s+)?([A-Za-z0-9]+)?(\\s+)?([A-Za-z0-9]+)+(\\s+)+" + word + "(\\(?.*\\)?|\\[[A-Za-z0-9]+\\])");

неслабенький такой регэксп получился :)
а за книжку спасибо, вещь нужная, почитаю на досуге :)

Сообщение отредактировал void* - 12.6.2008, 14:41
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.3.2024, 13:15