TGViewer
Жёлтый чайник 1С (Черненко Виталий) Жёлтый чайник 1С (Черненко Виталий) @juniorones · 5.3K subscribers
Post #440 2.54K
Регулярные выражения в платформе 8.3.23.📣

Вышла тестовая версия платформы 8.3.23. В полноценном релизе может всё измениться. Но пока, что на данный момент имеем:

Новые методы платформы:

📍СтрНайтиПоРегулярномуВыражению(<Строка>, <РегулярноеВыражение>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>, <ИгнорироватьРегистр>, <МногострочныйПоиск>)

📍СтрНайтиВсеПоРегулярномуВыражению(<Строка>, <РегулярноеВыражение>, <ИгнорироватьРегистр>, <МногострочныйПоиск>)

📍СтрПодобнаПоРегулярномуВыражению(<Строка>, <РегулярноеВыражение>, <ИгнорироватьРегистр>, <МногострочныйПоиск>)

📍СтрЗаменитьПоРегулярномуВыражению(<Строка>, <РегулярноеВыражение>, <ПодстрокаЗамены>, <ИгнорироватьРегистр>, <МногострочныйПоиск>)


👍 Понятное описание в документации и есть примеры

ℹ️ Используются регулярные выражения стандарта ICU

🤔 Метод СтрПодобнаПоРегулярномуВыражению() проверяет на соответствие шаблону ВСЮ строку. Как-то я больше привык, когда метод проверяет наличие в строке любого кусочка, соответствующего шаблону. Но, в принципе, для этого есть СтрНайтиПоРегулярномуВыражению()

👎 Зачем-то наделали в методах кучу параметров. В СтрНайтиПоРегулярномуВыражению() их аж семь. И из них 5 необязательных. А если понадобится что-то добавить? Параметры для регулярок бывают разные. Я понимаю, когда старый легаси не исправляют, но тут... хочется напомнить про стандарты разработки 1С =)

Лучше бы сразу сделали что-то типа
ПараметрыПоиска = Новый ПараметрыПоискаПоРегулярномуВыражению(); 

❌ Иногда при некорректном выражении падает сеанс. Пример видно на скрине. Надеюсь, что до релиза поправят)

🕑 Замеры скорости показывают, что 1С выполняет поиск быстрее классической VBScript.RegExp. Иногда значительно быстрее. Иногда в десятки раз!
Ну и в ряде случаев может выполняться медленее. Например, если продублировать строку "Моя почта: sample@example.com" несколько тысяч раз и применить на ней шаблон "(\w+@\w+\.\w+)", то чем длинее текст, тем 1С больше отстает от компоненты. В несколько раз.

🧑‍💻 Конечно, нужно больше тестов. И если вы хотите поучаствовать, то можете использовать разработанный мною инструмент для этих целей: ссылка на гитхаб.

👥 Если есть какие-то замечания по инструменту, то добавляйте ишуиз. Если же есть замечания по самим регулярным выражениям в 1С, то можете добавлять комментарий на этой страничке. Будет интересно увидеть результаты 🥳

😄 P.S.: Оптимистичное (и классическое) начало главы про регулярные выражения из документации на ИТС:

У вас есть проблема.
Вы решили использовать регулярные
Выражения, чтобы её решить.
Теперь у вас две проблемы.

—————————————————————
@JuniorOneS
  • 👍 18
  • 🔥 5
  • ❤ 4
  • 👏 1
  • 😁 1
  • 🤔 1
  • 😱 1
More from @juniorones
  1. Sep 7, 2026🤖 1С-разработка с ИИ По советам прошел обучение на курсе Владимира Харина. Могу сказать,…
  2. Jul 15, 2026Post #768
  3. Jun 11, 2026🚀 Записался на вахту 18 июня стартует уже третий поток у Владимира Харина на курсе «1С-ра…
  4. Jun 5, 2026Нашел себе новое задротское хобби (а планировал пойти в спортзал) - ардуино. Давно погляды…
  5. Jun 1, 2026📈 Оптимизация настроек СКД 🧲😺 Внутри Магнита огромный лес легаси кода. И иногда мы им д…
  6. Apr 27, 2026⚫️️️️️️️️️️️️️️️️️️️️️️ 1С DAY от MAGNIT TECH: погружение в практику и технологии! ️️️️Вст…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →