Project

Profile

Help

HostedRedmine.com has moved to the Planio platform. All logins and passwords remained the same. All users will be able to login and use Redmine just as before. Read more...

Bug #986747

open

Постоянная ошибка при работе с регулярным выражением. Код ошибки - 10311 (U_REGEX_STACK_OVERFLOW)

Added by Сергей Старых 4 months ago. Updated 4 days ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

https://partners.v8.1c.ru/forum/t/2190637/m/2190637
https://bugboard.v8.1c.ru/error/000158037
Конфигурация ПО

8.3.23-25, отклонена

Проблема

Постоянная ошибка при работе с регулярным выражением. Код ошибки - 10311 (U_REGEX_STACK_OVERFLOW)

Воспроизведение

Открыть приложенную внешнюю обработку в управляемом клиентском приложении любой базы. Нажать Команда1. При этом на сервере выполнится код
Текст = РеквизитФормыВЗначение("Объект").ПолучитьМакет("текст").ПолучитьТекст();
Шабон = "(\d\d:\d\d)\.(\d+)-(\d+),([_ЁА-ЯA-Z\d\._#{}-]+),(\d+),((?:([\w\:]+)=(?:'\s*((?:''|[^'])*?)'|""\s*((?:""""|[^""])*)""|([^'""\n\r,]*))(?:,|\r|\n|$)+)*)";
Вхождения = СтрНайтиВсеПоРегулярномуВыражению("ф", Шабон, ИСТИНА, ЛОЖЬ);
Вхождения = СтрНайтиВсеПоРегулярномуВыражению(Текст, Шабон, ИСТИНА, ЛОЖЬ);

И появится системное окно ошибки

Ошибка при вызове метода контекста (СтрНайтиВсеПоРегулярномуВыражению) {ВнешняяОбработка.ВнешняяОбработкаяяя1.Форма.Форма4.Форма(12)}:Вхождения = СтрНайтиВсеПоРегулярномуВыражению(Текст, Шабон, ИСТИНА, ЛОЖЬ); {ВнешняяОбработка.ВнешняяОбработкаяяя1.Форма.Форма4.Форма(4)}:Тест();
по причине:
Ошибка при работе с регулярными выражениями. Код ошибки - 10311 (U_REGEX_STACK_OVERFLOW)
(\d\d:\d\d)\.(\d+)-(\d+),([_ЁА-ЯA-Z\d\._#{}-]+),(\d+),((?:([\w\:]+)=(?:'\s*((?:''|[^'])*?)'|"\s*((?:""|[^"])*)"|([^'"\n\r,]*))(?:,|\r|\n|$)+)*)

А ожидалось отсутствие ошибки. Или хотя бы внятное русско-язычное объяснение что не так с шаблоном.

Предположим, что шаблон слишком сложный для поиска в таком тексте. Тогда снова нажимаем Команда1. Появится системное окно ошибки уже на первом вызове СтрНайтиВсеПоРегулярномуВыражению, где текст наипростейший

Ошибка при вызове метода контекста (СтрНайтиВсеПоРегулярномуВыражению) {ВнешняяОбработка.ВнешняяОбработкаяяя1.Форма.Форма4.Форма(11)}:Вхождения = СтрНайтиВсеПоРегулярномуВыражению("ф", Шабон, ИСТИНА, ЛОЖЬ); {ВнешняяОбработка.ВнешняяОбработкаяяя1.Форма.Форма4.Форма(4)}:Тест();
по причине:
Ошибка при работе с регулярными выражениями. Код ошибки - 10311 (U_REGEX_STACK_OVERFLOW)
(\d\d:\d\d)\.(\d+)-(\d+),([_ЁА-ЯA-Z\d\._#{}-]+),(\d+),((?:([\w\:]+)=(?:'\s*((?:''|[^'])*?)'|"\s*((?:""|[^"])*)"|([^'"\n\r,]*))(?:,|\r|\n|$)+)*)

Все дальнейшие вызовы этого метода с таким шаблоном выдают ту же ошибку независимо от первого параметра.

Замечу что все опробованные мной отладчики и исполнители регулярных выражений (например regex101.com) проходят этот тест.


Files

ОтважныйБобр.epf (223 KB) ОтважныйБобр.epf Сергей Старых, 2024-06-08 06:00 PM

Related issues

Related to Инструменты разработчика Tormozit для 1С - Bug #987524: Исправлена ошибка загрузки логов при выполнении на сервере на платформах 8.3.23-25+Closed

Actions
Actions #1

Updated by Сергей Старых 4 months ago

  • Related to Bug #987524: Исправлена ошибка загрузки логов при выполнении на сервере на платформах 8.3.23-25+ added
Actions #2

Updated by Сергей Старых 3 months ago

  • Description updated (diff)
Actions #3

Updated by Сергей Старых 4 days ago

  • Description updated (diff)
Actions #4

Updated by Сергей Старых 4 days ago

  • Description updated (diff)
Actions #5

Updated by Сергей Старых 4 days ago

  • Description updated (diff)

Also available in: Atom PDF