![]() |
|
Модераторы: Akina |
![]()
|
|
| mihanik |
|
||||||||||
![]() -=Белый Медведь=- ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4054 Регистрация: 24.4.2006 Где: г. Тверь Репутация: 11 Всего: 109 |
Привет всем!!!
С Новым годом. У мня проблемы с парсингом. Имею стоку, в которой находися текст, похожий на содержимое ini-файла, а именно
Хочу написать процедурку, которая определяла, есть ли секция ini-файла с нужным мне именем или нет и есть ли в этой секции ключ с нужным мне именем... Для экспериментов создал маленькую процедурку...
Проблема заключается в том, что если устанавливаю
или
То всё находится, а если
То ничего не находится. Ля-ля-ля, жу-жу-жу, Я сегодня торможу... |
||||||||||
|
|||||||||||
| Naghual |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1893 Регистрация: 15.5.2004 Где: Украина, Днепр Репутация: 26 Всего: 49 |
По моему проще использовать стандартные методы для работы с ИНИ файлами.
-------------------- Я желаю всем Счастья! |
|||
|
||||
| mihanik |
|
|||
![]() -=Белый Медведь=- ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4054 Регистрация: 24.4.2006 Где: г. Тверь Репутация: 11 Всего: 109 |
Это API-функции?
Пробовал. Работает. Хочу сам. Мы (комсомольцы) хотим секса. Но в гамаке и стоя!!! Добавлено @ 15:39 Мне бы только Pattern кто-нибудь помог бы подправить... |
|||
|
||||
| Black_Star |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 192 Регистрация: 9.9.2003 Где: Minsk Репутация: 4 Всего: 4 |
mihanik, авось поможет?
|
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 3 Всего: 121 |
(\[start\]\x0D\x0A)( *\w+ *\= *\d{1,6} *\x0D\x0A)*(top *\= *\d{1,6} *\x0D\x0A)
Добавлено @ 17:50 На твоём примере проверял: [start] top=1 [stop] left = 5 bottom=2 Это сообщение отредактировал(а) W4FhLF - 12.1.2007, 17:48 -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| mihanik |
|
|||
![]() -=Белый Медведь=- ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4054 Регистрация: 24.4.2006 Где: г. Тверь Репутация: 11 Всего: 109 |
W4FhLF,
Тогда уж переработав для моего примера получим
Не работает... Black_Star, спасибо за ссылочку. В MSDN всё примерно то же... Но, всё равно спасибо. У меня-то проблема в основном с тем, что если искомый ключ стоит сразу после названия секции, то он находится, а если между названием секции и самим ключём стоит ещё один или несколько ключей, то ничего не выдаётся... Думаю.... |
|||
|
||||
| mihanik |
|
|||
![]() -=Белый Медведь=- ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4054 Регистрация: 24.4.2006 Где: г. Тверь Репутация: 11 Всего: 109 |
По-моему, у меня проблемы с прожорливостью регулярного выражения...
|
|||
|
||||
| W4FhLF |
|
||||||||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 3 Всего: 121 |
Ну как не работает? Ты же видишь я учёл этот момент: ( *\w+ *\= *\d{1,6} *\x0D\x0A)* Это говорит препроцессору о том, что между твоей секцией и ключом могут находиться ещё несколько ключей. Беру вот такой пример:
Как результат на экране одно сообщение:
Теперь усложняю текст:
Всё остальное оставляю так же. Как результат на экране вот такое сообщение:
Так, что это выражение учитывает все условия, который ввёл изначально. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
||||||||
|
|||||||||
| mihanik |
|
|||
![]() -=Белый Медведь=- ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4054 Регистрация: 24.4.2006 Где: г. Тверь Репутация: 11 Всего: 109 |
W4FhLF, спасибо за участие!!!
Вечером проверю твой вариант... Посмотрю, что лучше работает. Как только проверю, - отмечусь на форуме. У меня тоже получилось написать регулярное выражение. Вчера тестил... Вроде ничего... Работает... Я, правда, усложнил чуть-чуть условие. Значение ключа стал брать в кавычки. т.е. примерно так...
Ну... Это уже мои заморочки... |
|||
|
||||
| mihanik |
|
||||
![]() -=Белый Медведь=- ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4054 Регистрация: 24.4.2006 Где: г. Тверь Репутация: 11 Всего: 109 |
W4FhLF!!!
Не обижайся, но твой паттерн не работает... Работает такой
Он требует небольшой доработки, но в принципе пока меня устраивает... Вот, какая функция у меня получилась...
|
||||
|
|||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 3 Всего: 121 |
Да я не обижаюсь -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| mihanik |
|
|||
![]() -=Белый Медведь=- ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4054 Регистрация: 24.4.2006 Где: г. Тверь Репутация: 11 Всего: 109 |
W4FhLF, всё равно спасибо!!!
За "соучастие" получай в репу!!! |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |