alexkmbk / RegEx1CAddin

Native API component for executing regular expressions on 1C: Enterprise platform / Внешняя Native API компонента для выполнения регулярных выражений на платформе 1С:Предприятие 8
The Unlicense
173 stars 32 forks source link

Не верно отрабатывает регулярка. #4

Closed DitriXNew closed 3 years ago

DitriXNew commented 4 years ago

Есть регулярка \<(?!Auto)[a-zA-z]+\s?.?[0-9a-zA-Z]+\> Работает вот так: image Но тут, увы, регулярка выбирает абсолютно все слова, разделяя их пробелом, причем ей все равно на теги. Это баг, или я что то не то делаю?

alexkmbk commented 4 years ago

Здесь реализация на движке из библиотеки boost.regex, она может отличаться от реализации на regex101. Уже известно несколько отличий.

Надо подумать, но сходу попробовал, у меня отработало как вы ожидали если убрать из шаблона слэши: <(?!Auto)[a-zA-z]+s?.?[0-9a-zA-Z]+>

alexkmbk commented 4 years ago

Вот в такой форме регулярка тоже работает: <(?!Auto)[a-zA-z]+\s?.?[0-9a-zA-Z]+>

alexkmbk commented 3 years ago

@DitriXNew Опубликована тестовая версия компоненты под Windows и Linux на движке pcre2 - https://github.com/alexkmbk/RegEx1CAddin/releases/tag/13.0

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