# Регулярные выражения для 1С

> Регулярные выражения для 1С

- GitHub: https://github.com/cpr1c/RegEx1C_cfe
- Gitsell page: https://gitsell.ru/cpr1c/RegEx1C_cfe
- Visibility: public/free
- GitHub stars: 50
- Gitsell views: 1
- Gitsell downloads: 0

## 1C Configurations

Not specified.

## Pricing

Free or price is not specified.

## README

# Подсистема "Кроссплатформенные регулярные выражения в 1С"

Программная обертка для компоненты https://github.com/alexkmbk/RegEx1CAddin

Реализовано в виде расширения. 

Встроена компонента версии 12- последней на текущий момент.

Реализованы все описанные методы в документации к компоненте. 

Описание методов выполнено в модуле

Пожелания и замечания оставляйте в разделе [задач](https://github.com/cpr1c/RegEx1C_cfe/issues)

# Описание методов

### Функция ВерсияПодсистемы() Экспорт
``` bsl
// Возвращает текущую версию подсистемы
// 
// Возвращаемое значение:
// 	Строка - Версия подсистемы работы с регулярными выражениями
```

### Функция ОбъектКомпоненты() Экспорт
``` bsl
// Возвращает объект компоненты работы с регулярными выражениями. Компонента должна быть предвариательно подключена.
// При неподключенной компоненте вызовется исключение
// 
// Возвращаемое значение:
// 	ВнешняяКомпонентаОбъект - Объект внешней компоненты работы с регулярными выражениями. 
```

## Синхронные методы

### Функция КомпонентаРаботыСРегулярнымиВыражениями() Экспорт
``` bsl
// Используются синхронные вызовы
// Возвращает объект компоненты работы с регулярными выражениями. При необходимости происходит подключение и установка компоненты
// 
// Возвращаемое значение:
// 	ВнешняяКомпонентаОбъект - Объект внешней компоненты работы с регулярными выражениями 
//  Неопределено - если не удалось подключить компоненту
```

### Функция ВерсияКомпоненты(ОбъектКомпоненты = Неопределено) Экспорт
``` bsl
// Возвращает версию компоненты работы с регулярными выражениями
// 
// Параметры:
// 	ОбъектКомпоненты - ВнешняяКомпонентаОбъект - Объект внешней компоненты работы с регулярными выражениями (Необязательный)
// Возвращаемое значение:
// 	Строка - Версия используемой компоненты 
```

### Функция НайтиСовпадения(СтрокаДляАнализа, РегулярноеВыражение, ИерархическийОбходРезультатов = Ложь,	ВсеСовпадения = Ложь, ИгнорироватьРегистр = Ложь, ОбъектКомпоненты = Неопределено) Экспорт
``` bsl
// Описание
// Метод выполняет поиск в переданном тексте по переданному регулярному выражению
// Параметры:
// 	СтрокаДляАнализа - Строка - Строка в которой необходимо выполнить поиск по регуляному выражению
// 	РегулярноеВыражение - Строка - Регулярное вырашение для выполнения поиска
// 	ИерархическийОбходРезультатов - Булево - Если установлено в Истина, то будет выполнен поиск с учетом подгрупп, в противном случае будет выведено единым списком(Необязательный)
// 	ВсеСовпадения - Булево - Если установлено в Истина, то поиск будет выполняться по всем совпадениям, а не только по первому.(Необязательный)
// 	ИгнорироватьРегистр - Булево - Если установлено в Истина, то поиск будет осуществляться без учета регистра (Необязательный)
// 	ОбъектКомпоненты - ВнешняяКомпонентаОбъект - Объект внешней компоненты работы с регулярными выражениями (Необязательный)
// Возвращаемое значение:
// 	Соответствие - 	В ключах соответствия находятся найденные совпадения. 
//    				В значениях ключей массив, содержащий найденные подгруппы, если выполняется иерархический поиск, и неопределено, если поиск неиерархический.
```

### Функция КоличествоСовпадений(СтрокаДляАнализа, РегулярноеВыражение, ВсеСовпадения = Ложь, ИгнорироватьРегистр = Ложь,	ОбъектКомпоненты = Неопределено) Экспорт
``` bsl
// Описание
// Возвращает количество результатов поиска
// Параметры:
// 	СтрокаДляАнализа - Строка - Строка в которой необходимо выполнить поиск по регуляному выражению
// 	РегулярноеВыражение - Строка - Регулярное вырашение для выполнения поиска
// 	ВсеСовпадения - Булево - Если установлено в Истина, то поиск будет выполняться по всем совпадениям, а не только по первому.(Необязательный)
// 	ИгнорироватьРегистр - Булево - сли установлено в Истина, то поиск будет осуществляться без учета регистра (Необязательный)
// 	ОбъектКомпоненты - ВнешняяКомпонентаОбъект - Объект внешней компоненты работы с регулярными выражениями (Необязательный)
// Возвращаемое значение:
// 	Число - Количество совпадений
```

### Функция ОписаниеОшибкиКомпоненты(ОбъектКомпоненты) Экспорт
``` bsl
// Описание
// Возвращает ошибку, зафиксированную компонентой
// Параметры:
// 	ОбъектКомпоненты
// Возвращаемое значение:
// 	Строка - Описание ошибки, зафиксированной компонентой
```

### Функция Совпадает(СтрокаДляАнализа, РегулярноеВыражение, ВсеСовпадения = Ложь, ИгнорироватьРегистр = Ложь,	ОбъектКомпоненты = Неопределено) Экспорт
``` bsl
// Описание
// Делает проверку на соответствие текста регулярному выражению.
// Параметры:
// 	СтрокаДляАнализа - Строка - Строка в которой необходимо выполнить поиск по регуляному выражению
// 	РегулярноеВыражение - Строка - Регулярное вырашение для выполнения поиска
// 	ВсеСовпадения - Булево - Если установлено в Истина, то поиск будет выполняться по всем совпадениям, а не только по первому.(Необязательный)
// 	ИгнорироватьРегистр - Булево - Если установлено в Истина, то поиск будет осуществляться без учета регистра (Необязательный)
// 	ОбъектКомпоненты - ВнешняяКомпонентаОбъект - Объект внешней компоненты работы с регулярными выражениями (Необязательный)
// Возвращаемое значение:
// Булево -	Возвращает значение Истина если текст соответствует регулярному выражению.
```

### Функция Заменить(СтрокаДляАнализа, РегулярноеВыражение, ЗначениеДляЗамены, ВсеСовпадения = Ложь,	ИгнорироватьРегистр = Ложь, ОбъектКомпоненты = Неопределено) Экспорт
``` bsl
// Описание
// 	Заменяет в переданном тексте часть, соответствующую регулярному выражению
// Параметры:
// 	ТекстДляАнализа - Строка - Строка в которой необходимо выполнить поиск по регуляному выражению
// 	РегулярноеВыражение - Строка - Регулярное вырашение для выполнения поиска
// 	ЗначениеДляЗамены - Строка - Строка, на которую необходимо заменить найденные совпадения
// 	ВсеСовпадения - Булево - Если установлено в Истина, то поиск будет выполняться по всем совпадениям, а не только по первому.(Необязательный)
// 	ИгнорироватьРегистр - Булево - Если установлено в Истина, то поиск будет осуществляться без учета регистра (Необязательный)
// 	ОбъектКомпоненты - ВнешняяКомпонентаОбъект - Объект внешней компоненты работы с регулярными выражениями (Необязательный)
// Возвращаемое значение:
// 	Строка - результат замены.
```

## Асинхронные методы
Доступны только на клиенте

### Процедура НачатьПолучениеКомпоненты(ОписаниеОповещения) Экспорт
``` bsl
// Начинает получение объекта внешней компоненты работы с регулярными выражениями. При необходимости будет произведено подключение и установка компоненты
// 
// Параметры:
// 	ОписаниеОповещения - ОписаниеОповещения - Содержит описание процедуры, которая будет вызвана после завершения со следующими параметрами:
//<ОбъектКомпоненты> – Объект компоненты работы с регулярными выражениями, Тип: ВнешняяКомпонентаОбъект. Неопределено- если не удалось подключить компоненту
//<ДополнительныеПараметры> - значение, которое было указано при создании объекта ОписаниеОповещения.
```

### Процедура НачатьПолучениеВерсииКомпоненты(ОписаниеОповещения, ОбъектКомпоненты = Неопределено) Экспорт
``` bsl
// Начинает получение версии используемой компоненты работы с регулярными выражениями
// 
// Параметры:
// 	ОписаниеОповещения - ОписаниеОповещения - Содержит описание процедуры, которая будет вызвана после завершения со следующими параметрами:
//	<ВерсияКомпоненты> – Версия используемой компоненты, Тип: Строка. Неопределено- если не удалось подключить компоненту
//	<Параметры> - Параметры вызова метода компоненты.
//	<ДополнительныеПараметры> - значение, которое было указано при создании объекта ОписаниеОповещения.
// 	ОбъектКомпоненты - ВнешняяКомпонентаОбъект - Объект компоненты работы с регулярными выражениями (Необязательный)
```

### Процедура НачатьНахождениеСовпадений(ОписаниеОповещения, СтрокаДляАнализа, РегулярноеВыражение,	ИерархическийОбходРезультатов = Ложь, ВсеСовпадения = Ложь, ИгнорироватьРегистр = Ложь,	ОбъектКомпоненты = Неопределено) Экспорт
``` bsl
// Описание
// 	начинает поиск в переданном тексте по переданному регулярному выражению
// Параметры:
// 	ОписаниеОповещения - ОписаниеОповещения - Содержит описание процедуры, которая будет вызвана после завершения со следующими параметрами:
//	<НайденныеСоответствия> – Соответствие - В ключах соответствия находятся найденные совпадения. 
//    				В значениях ключей массив, содержащий найденные подгруппы, если выполняется иерархический поиск, и неопределено, если поиск неиерархический.
//	<ДополнительныеПараметры> - значение, которое было указано при создании объекта ОписаниеОповещения.
// 	СтрокаДляАнализа - Строка - Строка в которой необходимо выполнить поиск по регуляному выражению
// 	РегулярноеВыражение - Строка - Регулярное вырашение для выполнения поиска
// 	ИерархическийОбходРезультатов - Булево - Если установлено в Истина, то будет выполнен поиск с учетом подгрупп, в противном случае будет выведено единым списком(Необязательный)
// 	ВсеСовпадения - Булево - Если установлено в Истина, то поиск будет выполняться по всем совпадениям, а не только по первому.(Необязательный)
// 	ИгнорироватьРегистр - Булево - Если установлено в Истина, то поиск будет осуществляться без учета регистра (Необязательный)
// 	ОбъектКомпоненты - ВнешняяКомпонентаОбъект - Объект внешней компоненты работы с регулярными выражениями (Необязательный)
```

### Процедура НачатьПолучениеКоличестваСовпадений(ОписаниеОповещения, СтрокаДляАнализа, РегулярноеВыражение,	ВсеСовпадения = Ложь, ИгнорироватьРегистр = Ложь, ИерархическийОбходРезультатов = Ложь,	ОбъектКомпоненты = Неопределено) Экспорт
``` bsl
// Описание
// 	Начинает получение количество совпадений в строке по регулярному выражению
// Параметры:
// 	ОписаниеОповещения - ОписаниеОповещения - Содержит описание процедуры, которая будет вызвана после завершения со следующими параметрами:
//	<Количество совпадений> – Число - Количество совпадений в строке регулярному выражению
//	<Параметры> - Массив - Массив параметров вызова метода компоненты.
//	<ДополнительныеПараметры> - значение, которое было указано при создании объекта ОписаниеОповещения.
// 	СтрокаДляАнализа - Строка - Строка в которой необходимо выполнить поиск по регуляному выражению
// 	РегулярноеВыражение - Строка - Регулярное вырашение для выполнения поиска
// 	ВсеСовпадения - Булево - Если установлено в Истина, то поиск будет выполняться по всем совпадениям, а не только по первому.(Необязательный)
// 	ИгнорироватьРегистр - Булево - Если установлено в Истина, то поиск будет осуществляться без учета регистра (Необязательный)
// 	ИерархическийОбходРезультатов - Булево - Если установлено в Истина, то будет выполнен поиск с учетом подгрупп, в противном случае будет выведено единым списком(Необязательный)
// 	ОбъектКомпоненты - ВнешняяКомпонентаОбъект - Объект внешней компоненты работы с регулярными выражениями (Необязательный)
```

### Процедура НачатьПолучениеОписанияОшибкиКомпоненты(ОписаниеОповещения, ОбъектКомпоненты) Экспорт
``` bsl
// 	Начинает получение ошибки при выполнении метода компоненты
// Параметры:
// 	ОписаниеОповещения - ОписаниеОповещения - Содержит описание процедуры, которая будет вызвана после завершения со следующими параметрами:
//	<ОписаниеОшибки> – Строка - Ошибка зафиксированная компонентой
//	<Параметры> - Массив - Массив параметров вызова метода компоненты.
//	<ДополнительныеПараметры> - значение, которое было указано при создании объекта ОписаниеОповещения.
// 	ОбъектКомпоненты - ВнешняяКомпонентаОбъект - Объект внешней компоненты работы с регулярными выражениями (Необязательный)
```

### Процедура НачатьПолучениеПризнакаСовпадает(ОписаниеОповещения, СтрокаДляАнализа, РегулярноеВыражение,	ВсеСовпадения = Ложь, ИгнорироватьРегистр = Ложь, ОбъектКомпоненты = Неопределено) Экспорт
``` bsl
// Начинает выполнение проверки на соответствие текста регулярному выражению.
// Параметры:
// 	ОписаниеОповещения - ОписаниеОповещения - Содержит описание процедуры, которая будет вызвана после завершения со следующими параметрами:
//	<Соответствует> – Булево - Признак соответствия строки регулярному выражению
//	<Параметры> - Массив - Массив параметров вызова метода компоненты.
//	<ДополнительныеПараметры> - значение, которое было указано при создании объекта ОписаниеОповещения.
// 	СтрокаДляАнализа - Строка - Строка в которой необходимо выполнить поиск по регуляному выражению
// 	РегулярноеВыражение - Строка - Регулярное вырашение для выполнения поиска
// 	ВсеСовпадения - Булево - Если установлено в Истина, то поиск будет выполняться по всем совпадениям, а не только по первому.(Необязательный)
// 	ИгнорироватьРегистр - Булево - Если установлено в Истина, то поиск будет осуществляться без учета регистра (Необязательный)
// 	ОбъектКомпоненты - ВнешняяКомпонентаОбъект - Объект внешней компоненты работы с регулярными выражениями (Необязательный)
```

### Процедура НачатьЗамену(ОписаниеОповещения, СтрокаДляАнализа, РегулярноеВыражение, ЗначениеДляЗамены,	ВсеСовпадения = Ложь, ИгнорироватьРегистр = Ложь, ОбъектКомпоненты = Неопределено) Экспорт
``` bsl
// Начинает выполнение замены в переданном тексте часть, соответствующую регулярному выражению
// Параметры:
// 	ОписаниеОповещения - ОписаниеОповещения - Содержит описание процедуры, которая будет вызвана после завершения со следующими параметрами:
//	<РезультатЗамены> – Строка - Строка, получившаяся в результате замены
//	<Параметры> - Массив - Массив параметров вызова метода компоненты.
//	<ДополнительныеПараметры> - значение, которое было указано при создании объекта ОписаниеОповещения.
// 	СтрокаДляАнализа - Строка - Строка в которой необходимо выполнить поиск по регуляному выражению
// 	РегулярноеВыражение - Строка - Регулярное вырашение для выполнения поиска
// 	ЗначениеДляЗамены - Строка - Строка, на которую необходимо заменить найденные совпадения
// 	ВсеСовпадения - Булево - Если установлено в Истина, то поиск будет выполняться по всем совпадениям, а не только по первому.(Необязательный)
// 	ИгнорироватьРегистр - Булево - Если установлено в Истина, то поиск будет осуществляться без учета регистра (Необязательный)
// 	ОбъектКомпоненты - ВнешняяКомпонентаОбъект - Объект внешней компоненты работы с регулярными выражениями (Необязательный)
```