| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Делфи и регулярные выражения |
| Автор: Berliner 3.5.2006, 13:18 |
| Здраствуйте ,возможно ли к Delphi "прикрутить" регулярные выражения? ЧТо бы работать с ними можно было например как в Java или в Perl? |
| Автор: _hunter 3.5.2006, 13:27 |
| можно: http://regexpstudio.com/TRegExpr/TRegExpr.html |
| Автор: Berliner 4.5.2006, 15:52 |
| Спасиб, А кто нить работал с этой библиотекой? П то у меня не полусется разобрать файл |
| Автор: Alexeis 4.5.2006, 15:56 |
| Berliner, поточнее, что не получается? |
| Автор: Berliner 4.5.2006, 18:00 |
| Спасиб. мне бы пример Создал я объект, r:=TRegExp.Create; а дальше хочу- например отыскать в файле слово tel и мне хочется посмотреть как именно в Делфи использовать регулярные выражения Может кто знает? |
| Автор: Alexeis 5.5.2006, 10:36 | ||||
| Там в пакете есть неплохие демки Вот привожу фрагмент
функция exec имеет 3 перегруженных варианта. r.Match [0] - возращает первое появление. r.ExecNext; - ищет следующее выражение. Текст в котором нужно искать можно задать вручную свойством property InputString или автоматически при вызове Exec (AInputString) Для правельной работы желательно установить нужные модификаторы они задают режим работы компонента
Вообще к этому компоненту справка прилогается на русском языке. Очень даже неплохая! |
| Автор: Berliner 6.5.2006, 17:58 | ||
Ок спасиб за ответ, мне бы хотелось например открыть файл найти все строки которые соответствуют данному рег. выражению и вывести результат например на экран. подскажите плиз с кодом
|
| Автор: Romikgy 10.5.2006, 13:50 | ||
|
| Автор: Berliner 10.5.2006, 18:08 | ||
Спасиб, только я не понял назначение этого места кода.
вроде в демо примере примерно так r.Expression:='[A-Z]'; и там r.Exec; растолкуйте плиз |
| Автор: Romikgy 11.5.2006, 09:09 | ||||
ну не смотрел я тогда в примеры, регеспа, не смотрел, думал , что ты и сам можешь это сделать! Добавлено @ 09:11
в результат складывается ответ, только его обозначить надо |
| Автор: Berliner 23.5.2006, 12:46 | ||
| Спасиб за ответы, вот накидал код но не работает нормально пишет execNext witout exec Pos. Подправте меня плиз. И сейчас изучаю регулярные выражения.
|
| Автор: Matematik 23.5.2006, 13:08 | ||
|
| Автор: Berliner 23.5.2006, 15:50 |
| Спасиб, за ответ а можно мой код подправить чтобы работал плиз? |
| Автор: AriX 23.5.2006, 17:06 |
| Так он в исправленном виде от Математика - рабочий (вместо aBuffer вставляй f.Strings[i]) |
| Автор: Berliner 24.5.2006, 10:58 | ||
Написал я такой код и выдает ошибку Index out of bounds или что-то подобное.
Сто у меня не праильно , сори что побепокоил |
| Автор: Matematik 24.5.2006, 11:03 | ||
По идее код должен работать |
| Автор: Berliner 2.6.2006, 11:52 | ||||
Здраствуйте, этот код работает спасиб.
Но я нахожу например только одну строку в моем случае это имя файла. А мне надо найти и другую информацию(время когда файл упакован, время когда получен отчет) ищу по имени файла которое ввожу в поле Edit подскажите плиз как это сделать. Вот текст еоторый я разбираю
|
| Автор: Romikgy 7.6.2006, 12:41 |
| Berliner, а как должно в конце выйти? |
| Автор: Berliner 7.6.2006, 13:56 | ||
Извините непонял
|
| Автор: Yanis 7.6.2006, 14:14 | ||
С позволения Romikgy перефразирую, если я правильно понял пост (7.6.2006, 13:41).
|
| Автор: Berliner 8.6.2006, 10:18 |
| я должен найти по имени файла(файл буду вводить в текстовое поле) 1 [ Упаковано : 10:09:30 ] 2 [ Распакован отчет : 10:10:00 ] 3 От : C:UA/ADMD:PIBFMAIL/PRMD:KIEV/ORG:U0A0/OU:U0AD/PN:U0AD 4 Кому : C:UA/ADMD:PIBFMAIL/PRMD:SUMY/ORG:USA0/OU:USA0/PN:USA0 эти данные мне нужно найти, по названию файла, более детальный фрагмент текста выше. например записать данную инфу в строковые переменные. |
| Автор: Romikgy 8.6.2006, 11:37 | ||
так не? |
| Автор: Berliner 29.6.2006, 18:27 | ||
| Спасиб за приведенный код но он ищет не то а мне надо: я должен найти по имени файла(файл буду вводить в текстовое поле) 1 [ Упаковано : 10:09:30 ] 2 [ Распакован отчет : 10:10:00 ] 3 От : C:UA/ADMD:PIBFMAIL/PRMD:KIEV/ORG:U0A0/OU:U0AD/PN:U0AD 4 Кому : C:UA/ADMD:PIBFMAIL/PRMD:SUMY/ORG:USA0/OU:USA0/PN:USA0 эти данные мне нужно найти, по названию файла, более детальный фрагмент текста выше. например записать данную инфу в строковые переменные.
|