Я заметила, что в последнее время на форуме часто стали появляться решения задач с использованием регулярных выражений. В связи с чем, я и сама прониклась этой интересной штуковиной под названием RegExp. )) Ну а т.к. я человек ленивый, надоело мне каждый раз писать один и тот же кусок кода, меняя в нем только строку шаблона. :D
Соорудила 3 UDF-ки, теперь хочу поделиться ими с вами: stringRegExpTest - проверяет, соответствует строка шаблону stringRegExpExecute - ищет в строке подстроки, соответствующие шаблону stringRegExpReplace - заменяет в строке вхождения, соответствующие шаблону на заданную подстроку.
Шаблоны (Pattern) строятся точно так же, как и при использовании регулярок в VBA. Свойства Global, IgnoreCase и MultiLine во всех функциях заданы, как необязательные аргументы (дефолтные значения можно поменять на свой вкус).
В файле набросала несколько задач, которые можно решать с помощью регулярных выражений. Т.к. с шаблонами я пока на Вы, примеры не очень сложные. Если у кого-то в закромах есть супер-пупер заумные/полезные шаблоны, предлагаю пополнить ими мой файлик.))
[p.s.]Долго искала тему про RegExp'ы в готовых решениях и Полезных приемах, но так и не нашла... После того, как наклепала свои udf-ки, и практически дописала этот пост, случайно наткнулась в разделе вопросов по Excel на Поговорим про RegExp?)) По приведенной мною ссылке можно найти описания для всех свойств и методов регулярок, а также списки метасимволов для шаблонов.[/p.s.]
Здравствуйте, уважаемые друзья и коллеги!
Я заметила, что в последнее время на форуме часто стали появляться решения задач с использованием регулярных выражений. В связи с чем, я и сама прониклась этой интересной штуковиной под названием RegExp. )) Ну а т.к. я человек ленивый, надоело мне каждый раз писать один и тот же кусок кода, меняя в нем только строку шаблона. :D
Соорудила 3 UDF-ки, теперь хочу поделиться ими с вами: stringRegExpTest - проверяет, соответствует строка шаблону stringRegExpExecute - ищет в строке подстроки, соответствующие шаблону stringRegExpReplace - заменяет в строке вхождения, соответствующие шаблону на заданную подстроку.
Шаблоны (Pattern) строятся точно так же, как и при использовании регулярок в VBA. Свойства Global, IgnoreCase и MultiLine во всех функциях заданы, как необязательные аргументы (дефолтные значения можно поменять на свой вкус).
В файле набросала несколько задач, которые можно решать с помощью регулярных выражений. Т.к. с шаблонами я пока на Вы, примеры не очень сложные. Если у кого-то в закромах есть супер-пупер заумные/полезные шаблоны, предлагаю пополнить ими мой файлик.))
[p.s.]Долго искала тему про RegExp'ы в готовых решениях и Полезных приемах, но так и не нашла... После того, как наклепала свои udf-ки, и практически дописала этот пост, случайно наткнулась в разделе вопросов по Excel на Поговорим про RegExp?)) По приведенной мною ссылке можно найти описания для всех свойств и методов регулярок, а также списки метасимволов для шаблонов.[/p.s.]Manyasha
Соорудила 3 UDF-ки, теперь хочу поделиться ими с вами:
а я пользуюсь только 2-мя. : RegExpFindReplace и RegExpFind.
Докину еще парочку ссылок, если не возражаешь: тут я нашел когда то - готовый тестер регулярок с Юдф-ками, похожими на твои . RegExpFindReplace RegExpFind RegExpTest Сам файл - тестер в приложении. А это, для меня, просто незаменимый сайт для создания и наглядной проверки регулярок. там же есть куча готовых шаблонов в разделе "community"
Соорудила 3 UDF-ки, теперь хочу поделиться ими с вами:
а я пользуюсь только 2-мя. : RegExpFindReplace и RegExpFind.
Докину еще парочку ссылок, если не возражаешь: тут я нашел когда то - готовый тестер регулярок с Юдф-ками, похожими на твои . RegExpFindReplace RegExpFind RegExpTest Сам файл - тестер в приложении. А это, для меня, просто незаменимый сайт для создания и наглядной проверки регулярок. там же есть куча готовых шаблонов в разделе "community"SLAVICK
Ниже перечислены аргументы:Элемент Описание Строка Обрабатываемая строка Шаблон Шаблон регулярного выражения НомерСовпадения Вернуть совпадение по номеру. 0 - вернуть список совпадений через запятую. -1 - вернуть количество совпадений. -2 - вернуть сумму чисел совпадений. НоваяСтрока Заменить совпадения на новую строку ИгнорироватьРегистр Игнорировать регистр букв. (Вкл. по умолчанию) Глобально Применить ко всем. (Вкл. по умолчанию)
Ниже перечислены аргументы:Элемент Описание Строка Обрабатываемая строка Шаблон Шаблон регулярного выражения НомерСовпадения Вернуть совпадение по номеру. 0 - вернуть список совпадений через запятую. -1 - вернуть количество совпадений. -2 - вернуть сумму чисел совпадений. НоваяСтрока Заменить совпадения на новую строку ИгнорироватьРегистр Игнорировать регистр букв. (Вкл. по умолчанию) Глобально Применить ко всем. (Вкл. по умолчанию)