Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поиск...


Страницы:   1 2

programmer90 ©   (2008-09-09 18:05:00) 

Здравствуйте ещё раз. На самом деле задача не так проста, несмотря на то что в теме сообщения я указал лишь одно слово...поиск
Нужно разработать такой алгоритм поиска
Допустим у нас в стринг массиве имеется строка : Sorry, "argument" is not found.
Если мы запросим в поиске  : Sorry, "здесь_может_быть_что_угодно_без_пробелов_и_без_кавычек" is not found, то поиск должен обнаружить вышеуказанную строку.
Всего таких "argument"-ов может быть  2 штуки .
Благодарю-с.


programmer90   (2008-09-09 22:54:00) [21]

А вот и уточнения:
Вот дан массив из строк:
Sorry, qwerty is not found
Sorry, asd123 is not found
Sorry, 123asd is not found
Sorry, sd123+_) is not found
Sorry, wqeq**90_)98 is not found
Sorry, продолжаем_в_том_же_духе is not found
Здесь находится текст который вообще не в тему

Я ввожу Sorry, "asd" is not found тогда
в результате он должен указать на СТРОКУ где находиться искомая строка
в данном случае это начиная 1-6 строки
Я ввожу Sorry, "asd2" is not found или
           Sorry, "Мама_мыла_раму" is not found
и в результате тоже самое 1-6
То есть обобщая вышесказанное:
В поиске учавствуют несколько слов (совукупность символов разделенные пробелами) из этих слов 2 слова взятые в кавычки могут быть проигнорированы в процессе поиска.
Sorry,  первое слово
"Мама_мыла_раму"   второе слово его можно проигнорировать  и.т.д....


Медвежонок Пятачок   (2008-09-09 22:24:00) [22]

А если получить надо только некоторые символы из последовательности, то регулярные выражения, вроде как, не сильно помогут.

Поиогут. РВ позволяют ответить не только на вопрос "совпало/не совпало"


Юрий Зотов   (2008-09-09 21:12:00) [23]

> Zeqfreed ©   (09.09.08 21:10) [10]

Видимо, да. Подождем.


Zeqfreed   (2008-09-09 21:10:00) [24]

> Юрий Зотов ©   (09.09.08 21:06) [9]

Остается тогда только ожидать уточнений от автора.


Юрий Зотов   (2008-09-09 21:06:00) [25]

Автор писшет, что "то поиск должен обнаружить вышеуказанную строку". Какую именно строку надо найти - то ли всю целиком, то ли только параметры - этого он не уточнил. Поэтому я и говорю, что задача сформулирована не совсем понятно. Но если я правльно ее понял, то вот возможное решение:

uses
 Masks;

procedure TForm1.Button1Click(Sender: TObject);
const
 YesNo: array[boolean] of string = ('No', 'Yes');
begin
 Caption := YesNo[MatchesMask('Sorry, "параметр1" "параметр2" is not found.', 'Sorry, * is not found.')]
end;


Zeqfreed   (2008-09-09 20:54:00) [26]

> Юрий Зотов ©   (09.09.08 20:15) [7]

Насколько я понял, то нужно найти все то, что внутри кавычек. А если получить надо только некоторые символы из последовательности, то регулярные выражения, вроде как, не сильно помогут.


Юрий Зотов   (2008-09-09 20:15:00) [27]

> Zeqfreed ©   (09.09.08 20:12) [6]

Там может быть "что угодно", вот в чем соль. И если это "что угодно" надо при поиске игнорировать, то вся сложность в этом и есть. А пробелы и кавычки никакой роли не играют.


Zeqfreed   (2008-09-09 20:12:00) [28]

> Юрий Зотов ©   (09.09.08 20:04) [4]

Там ведь написано, что без пробелов и без кавычек. Единственная трудность могла быть с экранированными кавычками, но раз их там не может быть, то и обрабатывать такой случай не нужно.


Юрий Зотов   (2008-09-09 20:10:00) [29]

Еще стоит посмотреть в сторону функции MatchesMask.


Юрий Зотов   (2008-09-09 20:04:00) [30]

Возможно, и не нужны. Задача сформулирована не совсем понятно, но смущает вот эта фраза: здесь_может_быть_что_угодно. Если при поиске это самое "что_угодно" нужно игнорировать, то регулярные выражения - самое то.


Zeqfreed   (2008-09-09 19:56:00) [31]

Для такого простого случая регулярные выражения, наверное, не нужны.


Юрий Зотов   (2008-09-09 19:43:00) [32]

Похоже, здесь нужны регулярные выражения. Что-то типа
Sorry, "*" is not found.


Palladin   (2008-09-09 18:16:00) [33]

Pos + F1


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо