а=Найти(б); Если а>0 Тогда в=Лев(г,а)...
Не, то, чтобы я не знал о RegExp раньше. Еще до 1С активно использовал их в PHP, но в 1С как-то не использовал. Сам даже не знаю почему.
Использовать их не просто, а очень просто, например вот так (запишу, как памятку себе):
Код создания объекта очень простой, а в написании самой сложной части (шаблона) помогают программы тестирования регулярных выражений.РегЭксп = Новый COMОбъект("VBScript.RegExp"); РегЭксп.IgnoreCase = Истина; РегЭксп.Global = Истина; РегЭксп.MultiLine = Ложь; РегЭксп.Pattern = "([^0]*)0+(.*)"; Результат = РегЭксп.Replace(Номер, "$1-$2");
Лично я сейчас пользуюсь Rad Software Regular Expression Designer, так же совсем недавно я встретил интересную публикацию на инфостарт. Там можно скачать обработку 1С, предназначенную для тестирования RegExp.
Есть и платные аналоги.
С инструментом тестирования разработка поискового шаблона превращается в удовольствие.
Используйте RegExp-ы и хорошего вам дня, и хорошего кода.
6 комментариев:
У пользователей Снегопата есть возможность использовать конструктор регулярок прямо в конфигураторе: http://snegopat.ru/scripts/wiki?name=RegExpEditor.js (чтобы увидеть скриншот, надо залогиниться анонимусом с главной страницы).
А вы Снегопатом пользуетесь? А-то я все примеряюсь попробовать и купить, да как-то не доходят руки. Главный вопрос вот в чем. Штатная подсказка, которая после точки всплывает достаточно недурно работает, а у Снегопата с этим как? Не "проглатывает" ничего?
А-то стремно получить дополнительные супер-возможности, а родные потерять.
Хотя, думаю, опасения мои несколько надуманные. OpenConf у меня лучший друг. Но там и подсказки "родной" никакой не было.
Да, я пользователь с первых альфа-версий. Подсказка сейчас работает ровно так же, как 1Совская родная - потому что именно она и перехватывается. Умную работу "после точки" Александр только еще делает.
Родные возможности не теряются. Исключение составляет плагин SciColorerV8 (в отладчике с ним не очень удобно работать), но он лишь дополнительный бантик к редактору, да и недавно только зарелизился.
Лично для меня Снегопат уже окупился. Для меня была важна в первую очередь возможность автоматизация работы с кодом в конфигураторе - я ее получил и активно использую.
Краткий обзор скриптов я делал на Инфостарте: http://infostart.ru/public/104670/
Сейчас к ним добавился отличный скрипт для навигации по метаданным и скрипт для удобной фильтрации в окне справки.
В общем, советую попробовать, для начала хотя бы демку.
p.s.
Можно на "ты", если удобно.
О! Это последняя капля. Начинаю пробовать Снегопат. Спасибо.
Ух ты. Регекспы в 1с... Крутата.
А шаблоны программирования там уже есть? :)
Рекомендую использовать плагин к мозилле для тестирования регекспов. Если конечно регекспы напоминают posix/perl.
Мозилла все-таки не основной рабочий инструмент 1С-ника. =) Была бы веб-разработка. Так что в родной IDE 1С оно удобнее, чем отдельно открывать мозилку.
И, почему "напоминают"? Они самые и есть, объект-то стандартный VBScript.RegExp доступный из любого языка.
И, кстати, насчет шаблонов. Конечно есть, и во множестве. Но не древние "проделки GoF". GoF не пойдет, 1С не ООП, а DDD.
Но, все равно что-то есть. Например, я бы не побоялся сказать, что в 1С используется ограниченный MVVM.
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.