Code References - регулярные выражения | |
---|---|
Каратаев Автор Сообщений: 3977 Откуда: Алматы Дата регистрации: 04.12.2001 |
Добрый день... Что-то уже целый час сижу туплю...
Задача такая - в программе есть вызов некоей функции с необязательными параметрами. Выглядит примерно так (привожу несколько вариантов):
l_sele*,?[S]* Вот мои потуги:[attachment 35223 2021-04-05_135227.png] И это не полный список... В Solutions примеры смотрел, на форуме темы искал... Дайте кто-нибудь пинка в нужную сторону... ------------------ Никогда не бывает настолько плохо, чтобы не могло быть еще хуже. |
Re: Code References - регулярные выражения | |
---|---|
leonid Сообщений: 3204 Откуда: Рига Дата регистрации: 03.02.2006 |
Попробуйте
l_sele\(.+['"]S['"]\s*\) Исправлено 1 раз(а). Последнее : leonid, 05.04.21 11:28 |
Re: Code References - регулярные выражения | |
---|---|
Каратаев Автор Сообщений: 3977 Откуда: Алматы Дата регистрации: 04.12.2001 |
Спасибо! Сработало! То, что нужно!
------------------ Никогда не бывает настолько плохо, чтобы не могло быть еще хуже. |
Re: Code References - регулярные выражения | |
---|---|
akvvohinc Сообщений: 4224 Откуда: Москва Дата регистрации: 11.11.2008 |
Что, находит "S" именно в 4-м параметре? А вообще поиск по регуляркам не всегда работает правильно - точнее, в результате показываются не те строки, в которых найдено искомое. Попробуйте на большом проекте поискать, например, что-нибудь такое (или подобное):
У меня - далеко не во всех, в том числе могут быть показаны и пустые строки, если у вас они есть в коде. Но если посмотреть код, то где-то рядом с показанной строкой искомое найдется. PS Можно даже искать что-то, не включающее спец.символы, например, просто "ALLTRIM", но с установленным флажком 'Use regular expressions' Исправлено 2 раз(а). Последнее : akvvohinc, 05.04.21 18:33 |
Re: Code References - регулярные выражения | |
---|---|
Каратаев Автор Сообщений: 3977 Откуда: Алматы Дата регистрации: 04.12.2001 |
Да, в моём случае нашлось именно то, что и требовалось: "S" именно в 4-м параметре. Не буду утверждать, что найдено 100% таких вызовов, но очень похоже, что это так. Более точно уже будет видно в ходе дальнейшей работы. По поводу того, что не всегда правильно срабатывает, так это скорее вина неправильно составленного регулярного выражения, чем его работа. Иногда мы не понимаем (я не понимаю) как правильно и когда нужно задавать те или иные параметры. Хотя с регулярными выражениями сталкивался, правда не применительно к FoxPro, в NotePad++ делал глобальные замены в текстовых файлах именно с помощью регулярных выражений. Даже статью об этом на блоге написал obg.kz. А что не так с ALLTRIM? Вот часть моего результата по такому запросу: [attachment 35229 alltrim.png] Вроде нормально всё... ------------------ Никогда не бывает настолько плохо, чтобы не могло быть еще хуже. Исправлено 1 раз(а). Последнее : Каратаев, 06.04.21 06:23 |
Re: Code References - регулярные выражения | |
---|---|
akvvohinc Сообщений: 4224 Откуда: Москва Дата регистрации: 11.11.2008 |
Я имел в виду, что эта строка могла найтись не только в 4-м параметре, а в любом месте строки, соответствующем регулярке. Цитата:Часть и у меня нормально. Но если посмотреть все результаты вывода (у меня это до сотни страниц), то обнаруживаются и строки, в которых ALLTRIM нет, например: i1.imageban.ru Причем, если убрать флаг 'Use regular expressions', то такого не происходит. А в вашем примере этот флаг стоял? Исправлено 1 раз(а). Последнее : akvvohinc, 06.04.21 16:47 |
Re: Code References - регулярные выражения | |
---|---|
Каратаев Автор Сообщений: 3977 Откуда: Алматы Дата регистрации: 04.12.2001 |
В принципе - да, но для моей конкретной задачи - нет. А мне важно было решить именно её. По поводу ALLTRIM... Странно, специально пролистал все результаты до самого конца и всё правильно в выдаче. Кстати, тоже вроде проект не маленький... Но спорить не буду, Вы же показали свои результаты - там видно, что не всё гладко. Конечно стоял! ------------------ Никогда не бывает настолько плохо, чтобы не могло быть еще хуже. |
Re: Code References - регулярные выражения | |
---|---|
akvvohinc Сообщений: 4224 Откуда: Москва Дата регистрации: 11.11.2008 |
Цитата:Похоже, разобрался, в чем причина: Я для корректировки PRG обычно пользуюсь внешним редактором, в котором есть возможность писать свои функции на C (расширять возможности редактора). И оказалось, что одна такая функция, рисующая "красивые заголовки" подпрограмм (название в рамочке) ставила разделителем строк код 13, а не 13+10. Похоже, это и сбивало счетчик строк, а в результате выводилась не та строка, в которой было найдено выражение. И нигде это себя до сих пор не проявляло, кроме как при поиске с использованием RegExp. Исправлено 1 раз(а). Последнее : akvvohinc, 06.04.21 21:24 |
Re: Code References - регулярные выражения | |
---|---|
Каратаев Автор Сообщений: 3977 Откуда: Алматы Дата регистрации: 04.12.2001 |
------------------ Никогда не бывает настолько плохо, чтобы не могло быть еще хуже. |
© 2000-2024 Fox Club  |