Добрый день.
Помогите пожалуйста составить регулярное выражение что бы из текста письма выловить ФИО и телефон клиента.
К почте подключаюсь письма прочитать удается.
Попытка
Сообщить("Подключение к почтовому серверу..." + ПочтовыйПрофиль.АдресСервераIMAP);
Email = Новый ИнтернетПочта;
Email.Подключиться(ПочтовыйПрофиль, ПротоколИнтернетПочты.IMAP);
МассивСообщений = Новый Массив;
Сообщить("Чтение писем...");
МассивСообщений = Email.Выбрать(Ложь); // Ложь - письма с сервера не удаляются
Исключение
Сообщить("Ошибка подключения к серверу: " + ОписаниеОшибки());
КонецПопытки;
Если МассивСообщений.Количество() > 0 Тогда
Номер = 1;
Сообщить(Номер);
//
RegExp = Новый COMОбъект("VBScript.RegExp"); // создаем объект для работы с регулярными выражениями
RegExp.IgnoreCase = Истина; // истина — игнорировать регистр строки при поиске
RegExp.Global = Истина; // истина — поиск по всей строке, ложь — до первого совпадения
RegExp.MultiLine = Истина; // истина — текст многострочный, ложь — одна строка
Для каждого Письмо Из МассивСообщений Цикл
НомерП = "";
Сообщить("Тема: " + Письмо.Тема);
Позиция = Найти(Письмо.Тема, "[");
НомерП = Сред(Письмо.Тема, Позиция+1, 1);
Сообщить(НомерП);
ФИО = "";
Если НомерП = "4" Тогда
Для Каждого Содержание из Письмо.Тексты Цикл
Сообщить(Содержание.Текст);
RegExp.Pattern = "Имя*
(.*?)
";
Matches=RegExp.Execute(Содержание.Текст);
ЧислоВхождений=Matches.Count();
Если ЧислоВхождений>0 Тогда
Match = Matches.Item(0);
ФИО = Match.Value;
Сообщить("ФИО " + ФИО);
Иначе
Сообщить("Вхождений шаблона не найдено");
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
Показать
Не могу сообразить на что надо поменять строку
Вывод такой:
Помогите пожалуйста составить регулярное выражение что бы из текста письма выловить ФИО и телефон клиента.
К почте подключаюсь письма прочитать удается.
Попытка
Сообщить("Подключение к почтовому серверу..." + ПочтовыйПрофиль.АдресСервераIMAP);
Email = Новый ИнтернетПочта;
Email.Подключиться(ПочтовыйПрофиль, ПротоколИнтернетПочты.IMAP);
МассивСообщений = Новый Массив;
Сообщить("Чтение писем...");
МассивСообщений = Email.Выбрать(Ложь); // Ложь - письма с сервера не удаляются
Исключение
Сообщить("Ошибка подключения к серверу: " + ОписаниеОшибки());
КонецПопытки;
Если МассивСообщений.Количество() > 0 Тогда
Номер = 1;
Сообщить(Номер);
//
RegExp = Новый COMОбъект("VBScript.RegExp"); // создаем объект для работы с регулярными выражениями
RegExp.IgnoreCase = Истина; // истина — игнорировать регистр строки при поиске
RegExp.Global = Истина; // истина — поиск по всей строке, ложь — до первого совпадения
RegExp.MultiLine = Истина; // истина — текст многострочный, ложь — одна строка
Для каждого Письмо Из МассивСообщений Цикл
НомерП = "";
Сообщить("Тема: " + Письмо.Тема);
Позиция = Найти(Письмо.Тема, "[");
НомерП = Сред(Письмо.Тема, Позиция+1, 1);
Сообщить(НомерП);
ФИО = "";
Если НомерП = "4" Тогда
Для Каждого Содержание из Письмо.Тексты Цикл
Сообщить(Содержание.Текст);
RegExp.Pattern = "Имя*
(.*?)
";
Matches=RegExp.Execute(Содержание.Текст);
ЧислоВхождений=Matches.Count();
Если ЧислоВхождений>0 Тогда
Match = Matches.Item(0);
ФИО = Match.Value;
Сообщить("ФИО " + ФИО);
Иначе
Сообщить("Вхождений шаблона не найдено");
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
Не могу сообразить на что надо поменять строку
RegExp.Pattern = "Имя*(.*?)";
Вывод такой:
Подключение к почтовому серверу...imap.yandex.ru
Чтение писем...
Тема: Fwd: заполнена web-форма [4] Подбор автозапчастей по VIN номеру
_____
<div> </div><div> </div><div>-------- Пересылаемое сообщение --------</div><div>10.01.2023, 15:56</div><div> </div><div>Заполнена web-форма: [4] Подбор автозапчастей по VIN номеру-------------------------------------------------------Дата - 10.01.2023 14:55:34Результат - 315Пользователь - [не зарегистрирован]Посетитель - 413084Сессия - 422377VIN номер*******************************VIN-CODEНазвание запчасти*******************************Подушка безопасности водителяИмя*******************************ВикторТелефон*******************************+7 (000) 000-00-00Подробно опишите, что вы ищите*******************************Подушка безопасности водителя RENAULT SANDERO-1 поколениеПисьмо сгенерировано автоматически. </p></div><div> </div><div>-------- Конец пересылаемого сообщения --------</div>
ФИО Имя*******************************
ПоказатьПо теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
Выводит много лишнего :
Имя.*
(.*?)
";
(.*?)
";
Выводит много лишнего :
Имя*******************************ВикторТелефон*******************************+7 (000) 000-00-00Подробно опишите, что вы ищите*******************************Подушка безопасности водителя RENAULT SANDERO-1 поколение
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот