#0
by Bugmenot
Помогите пожалуйста, составить шаблон. Что-то я очень сомневаюсь что это возможно... Задача следующая, нужно заменить в тексте только часть шаблона, пример: Как видите в Часть2 я использовал "просмотр вперед" и "(" не будет попадать в найденный текст. А вот как сделать, что бы и первая часть шаблона не попадала в результат - не представляю. Ведь насколько я знаю, реализация в VBScript не поддерживает "просмотра назад"...
#5
by Bugmenot
Дык, я с примером и написал! ) Не знаю как еще объяснить, нужно заменять только часть текста по шаблону... Т.е. "не_заменять_ВОТ_ЭТО_ЗАМЕНИТЬ_это_тоже_не_заменять" Как исключать из найденного вхождения окончание шаблона я знаю, а вот с началом шаблона - засада! (
#6
by Stepa86
а СтрЗаменить( лТекст , "не_заменять_ВОТ_ЭТО_ЗАМЕНИТЬ_это_тоже_не_заменять" , "не_заменять_ВОТ_НА_ЭТО_ЗАМЕНИТЬ_это_тоже_не_заменять" ); не прокатит?
#7
by Bugmenot
проблема в том что первая часть шаблона не постоянна, там может быть и пробел, и символ, и вообще пусто... С регулярными выражениями знаком? Язык шаблона очень широк и гибок в этом смысле, в классической реализации... Вот первая часть выражения: ([^a-zA-Z_0-9.]|^) - это не какой-то строго определенный текст.
#8
by Stepa86
с регэкспом знаком, но это не значит, что я не люблю простые решения... примеры ты так и не привел
#11
by Bugmenot
Но там же не любой символ ) Красивее можно написать так, ИМХО: W[^.] Но вопрос ведь не в этом!!! ) "ИмяФункции" на "ИмяМодуля.ИмяФункции" в произвольном коде... Только не надо меня за типовой обработкой на диск ИТС посылать! ))
#12
by Живой Ископаемый
2 а как ты локализуешь "ИмяФункции"? Как последовательность, перед которой идет пробел, а после которой - открывающаяся скобка?
#14
by Bugmenot
Как последовательность перед которой идет все что угодно кроме цифро-буков, что бы исключить "ЭтоНеМоя1ИмяФункции" и кроме ".", что бы исключить методы объектов. А после да, открывающаяся скобка.
#15
by Stepa86
быстрее кодом написать, чем регэкспом, и понятнее будет... находим нужную подстроку, смотрим на один символ левее ее, если не удовлетворяет шаблону часть1, то заменяем, иначе топаем дальше...
#16
by Волесвет
хм ... выдираем весь текст крутим его потом возвращаем результат поверх изначального ... крутим - ну тут уж как фантазия подскажет можно и так и сяк и тд и тп...
#19
by Stepa86
ты хочешь получить неподдерживаемый кусок кода, который даже ты с трудом поймешь через месяц, когда его понадобится подправить???
#22
by Stepa86
они хороши в меру, особенно когда нужно проверить строку на соответствие шаблону эл. почты или что то в этом роде, но язык регекспов достаточно сложен и если можно сделать то же самое, но без него, то лучше делать без него...
#23
by Живой Ископаемый
2 Почему - сразу плохо.. Либо ты имеешь время на то, чтобы понять регекспы на требуемом для твоей задачи уровне - либо ты не имеешь.. Если тебе нужно решить проблему быстро (заткнуть ее) - Степан тебе дело предлагает.. Если же ты хочешь решить проблему как задумал, то это у тебя просто займет несколько болье времени. ну и собственно чтобы решить ее - нужно не на форуме спрашивать, а читать первоисточники и экспериментировать... Это единственный верный способ... Ну еще вариант - попросить Морфея загрузить в тебя знания Регекспа, чтобы ты как Нео смог сказать "Я знаю регэкспы!"
#24
by Bugmenot
Читал. Регэкспы знаю хорошо. Согласен, зря тему завел. На регэкспах из VBScript то что я хочу не реализовать. Тут Perl нужен или C#
#25
by Stepa86
мой вариант в 1) Быстро пишется без долгого битья головой ап_стену, как бы шаблон составить, чтоб заработало наконец? 2) пишется минут 20 вместе с проверкой (ты уже 2 часа пытаешься регэкспы побороть судя по времени создания сабжа) 3) Прост и легко модифицируем, поэтому доработать смогут даже новички при необходимости 4) не думаю, что скорость выполнения будет так важна...
#26
by Bugmenot
1) Для меня написать шаблон не "битье головой" :) 2) Написал уже давно :) Правда криво, это да )
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- получалось ли у кого подружить веб-клиент и аутентификацию операционной системы?
- v7: Неправильно считается "налоговая амортизация" ОС после модернизации?
- можно ли установить тип полю ввода на ворме документа?
- Не выгружаются документы в бухгалтерию
- У кого-нибудь есть labelprint.dll ?
- Теряются движения у документов в РИБ.
- При активации строки, или как определить текущую таб часть
- v7: ЗУП, Как принять на работу сотрудницу, чтобы с первого дня она была в декрете?
- Как увеличить размер шрифта в терминале FreeBSD?
- Глупость какая то. Почему не работает "НачатьГруппуКолонок()"?
- Перенос остатков по OLE из ПУБ 7.7 в Комплексную авт 8.1
- Сканер-штрихкода в 1С:Арбис
- КоличествоСтраниц()
- Можно ли сделать отбор по дереву, иерархии
- v7: Пустая оборотка
- SQL State: 42000. native: 4104. Message:...
- Штрих код в документе "Авансы в ПФР..."
- v7: НДС по партиям товаров (реализация без НДС)
- Где кнопка "зашифровать и отправить" или как еет там?
- СКД: Как растянуть в ширину диаграмму в отчете?