Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Мост для использования в Excel возможностей регулярных выражений .Net
 
Наверно не все, но некоторые знают, что в VBA регулярные выражения поддерживаются за счет библиотеки Microsoft VBScript Regular Expressions 5.5 коротая, в свою очередь по сравнению с регулярными выражениями .Net (System.Text.RegularExpressions) имеет не такой большой набор возможностей.
Учитывая что по Microsoft VBScript Regular Expressions 5.5 сложно найти пособия и информацию Я решил разнообразить Excel новыми функциями работающими с регулярными выражениями .Net.

Функции включены в надстройку C# Regex.xll (загружается как обычная надстройка xls)
Всю информацию по написанию шаблонов (патернов) поиска можно найти в  библиотеке msdn
Надстройка содержит следующие UDF:
RegexMatch(Текст, Шаблон поиска) - выполняет поиск в тексте и возвращает первое найденное соответствие шаблону поиска
RegexMatches(Текст, Шаблон поиска, Разделитель) - выполняет поиск в тексте и возвращает все найденные соответствия шаблону поиска, разделенные Разделителем
RegexReplace(Текст, Шаблон поиска, Шаблон замены) - выполняет поиск и замену частей текста соответствующих шаблону поиска на шаблон замены (или просто на текст)
RegexReplacePlus(Текст, Шаблон поиска, Шаблон замены) - аналогичен RegexReplace, но в качестве Шаблонов Поиска и Замены выступают диапазоны ячеек, имеющих одинаковую размерность, при этом функция выполняет последовательную обработку текста по принципу: из диапазонов читаются (парно) ячейки с шаблонами Поиска и Замены соответствующие друг другу по позиции в массиве, выполняется обработка по типу RegexReplace полученное значение переходит к следующей итерации и все повторяется пока не закончатся значения из диапазонов.

Если кому интересно могу выложить более подробную информацию и примеры.

П.С.
1. в функциях не ограничены диапазоны по-этому вписывать в значения функций диапазоны D  :D  , E:E  и т.п. не стоит т.к. функция все равно пройдет все ячейки, а их свыше 1 млн. для одной итерации.
2. В шаблонах для замены на пустоту необходимо использовать знак апострофа '

Ссылка на надстройку http://1drv.ms/1zJgCPu
Изменено: amarf - 02.11.2016 16:01:16
Необходимо не только знать, но и уметь использовать это знание, ведь самые гениальные решения наиболее просты
Страницы: 1
Наверх