|
Модераторы: ginnie |
|
trinitr0 |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 102 Регистрация: 25.6.2013 Репутация: нет Всего: нет |
Здравствуйте!
Есть задача найти определённое место в текстовом файле, начинающийся со строки, например "Value", и проверить значение стоящие после двоеточия и вывести строку в случае соответствия значению "A1". Если пробую так:
То выводится весь остаток текста после искомой строки, начиная с икомой. Если так:
вообще ничего... |
||||
|
|||||
igorold |
|
|||
Опытный Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: нет Всего: 17 |
\[A-Z0-9]
зачем слэш перед квадратной скобкой? этим вы сломали шаблон Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
trinitr0 |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 102 Регистрация: 25.6.2013 Репутация: нет Всего: нет |
Поправил:
Но проблема с остатком текста после искомой строки осталась |
|||
|
||||
igorold |
|
|||
Опытный Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: нет Всего: 17 |
Неплохо бы больше програмного кода увидеть ...
И что такое А1? может $A1 или 'A1' ? Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
noize |
|
||||
5.18.2 Профиль Группа: Участник Сообщений: 89 Регистрация: 10.7.2010 Где: СПб Репутация: нет Всего: 3 |
|
||||
|
|||||
tzirechnoy |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: нет Всего: 16 |
Что логично -- поскольку если match failed, то переменная $1 не меняется, поскольку первое подвыражэние ничему не соответствует. |
|||
|
||||
trinitr0 |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 102 Регистрация: 25.6.2013 Репутация: нет Всего: нет |
Не совсем понял что Вы хотели сказать. Добавлено через 6 минут и 18 секунд Подскажите пожалуйста как поправить выражение, что бы оно давало только одну строку из текста при совпадении с шаблоном? |
||||
|
|||||
tzirechnoy |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: нет Всего: 16 |
Никак -- приведённое регулярное выражэние итак выдаёт только одну строку текста при совпадении с шаблогом.
|
|||
|
||||
trinitr0 |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 102 Регистрация: 25.6.2013 Репутация: нет Всего: нет |
В случае:
да действительно, одна строка. Но мне надо для такого случая: (извеняюсь, надо было сразу весь тескт приводить, но неопытности решил что будет достаточно пары строк)
|
||||
|
|||||
tzirechnoy |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: нет Всего: 16 |
PS То есть проблема у Вас совсем не в регулярном выражэнии.
|
|||
|
||||
trinitr0 |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 102 Регистрация: 25.6.2013 Репутация: нет Всего: нет |
Честно говоря не могу сказать наверняка.
Мне необходимо выделить только одну строку у которой могут меняться только два последних символа и сравнить её. А у меня получается после искомой строчки вываливается весь остаток строк из файла, вместо одной искомой. А вот в регулярках ли дело или нет не знаю... |
|||
|
||||
tzirechnoy |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: нет Всего: 16 |
Зато я говорю вполне наверняка. |
|||
|
||||
trinitr0 |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 102 Регистрация: 25.6.2013 Репутация: нет Всего: нет |
Вообщем решением было:
|
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Регулярные выражения | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |