Преобразовать RegEx в код на C#?
От: Arsen.Shnurkov  
Дата: 20.06.20 14:56
Оценка:
Существует ли утилита, подобная
https://sourceforge.net/projects/re2c/
которая генерирует C# код из регулярного выражения
?
Для того, чтобы не использовать класс RegEx из пространства имён System.Text.RegularExpressions
с параметром RegexOptions.Compiled
(это нужно для оптимизации скорости работы)
Re: Преобразовать RegEx в код на C#?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 20.06.20 15:41
Оценка: 86 (4)
Здравствуйте, Arsen.Shnurkov, Вы писали:
В .Net 5 обещают ускорение в 5 раз
https://devblogs.microsoft.com/dotnet/regex-performance-improvements-in-net-5/

Ну и
https://docs.microsoft.com/ru-ru/dotnet/api/system.text.regularexpressions.regex.compiletoassembly?view=netcore-3.1
Компилирует регулярные выражения и сохраняет их на диск в единой сборке.
и солнце б утром не вставало, когда бы не было меня
Отредактировано 20.06.2020 15:44 Serginio1 . Предыдущая версия . Еще …
Отредактировано 20.06.2020 15:43 Serginio1 . Предыдущая версия .
Re[2]: Преобразовать RegEx в код на C#?
От: Arsen.Shnurkov  
Дата: 20.06.20 22:57
Оценка:
S>В .Net 5 обещают ускорение в 5 раз

У них backtracking, экспонента — это позор !!!
Уже 5 лет как всё прогрессивное человечество (т.е. программисты на perl)
решает эту задачу максимум за O(n^3) и O(n) в наиболее встречаемых случаях:
https://lukasatkinson.de/2015/marpa-overview/
Re[3]: Преобразовать RegEx в код на C#?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 21.06.20 07:28
Оценка:
Здравствуйте, Arsen.Shnurkov, Вы писали:

S>>В .Net 5 обещают ускорение в 5 раз


AS>У них backtracking, экспонента — это позор !!!

AS>Уже 5 лет как всё прогрессивное человечество (т.е. программисты на perl)
AS>решает эту задачу максимум за O(n^3) и O(n) в наиболее встречаемых случаях:
AS>https://lukasatkinson.de/2015/marpa-overview/

Ну я не особый знаток и пользователь Regex. В большинстве случаев и существующего хватает.
Ну и .Net 5 еще не вышел можешь внести свои 5 копеек
https://github.com/dotnet/runtime/tree/820cc140f145dd669378fe5252f34f3c4a3cb8b4/src/libraries/System.Text.RegularExpressions/src

Вот еще Build a feature rich, non-backtracking regular expression engine and code generator in C#
и солнце б утром не вставало, когда бы не было меня
Отредактировано 21.06.2020 7:33 Serginio1 . Предыдущая версия .
Re[3]: Преобразовать RegEx в код на C#?
От: Danchik Украина  
Дата: 21.06.20 16:17
Оценка:
Здравствуйте, Arsen.Shnurkov, Вы писали:

S>>В .Net 5 обещают ускорение в 5 раз


AS>У них backtracking, экспонента — это позор !!!

AS>Уже 5 лет как всё прогрессивное человечество (т.е. программисты на perl)
AS>решает эту задачу максимум за O(n^3) и O(n) в наиболее встречаемых случаях:
AS>https://lukasatkinson.de/2015/marpa-overview/


Интересно было бы глянуть на примеры где новый парсер проигрыват перлу.
Да и тыкнуть носом Стефана. Он у них там по перформансу серьезно выступает.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.