LINUX.ORG.RU

grex 1.2.0 — генератор регулярных выражений

 , , , ,


3

4

Вышла новая версия библиотеки и командной утилиты grex 1.2.0, которая позволяет создавать регулярное выражение из предоставленных пользователем тестовых данных. Созданное регулярное выражение имеет синтаксис PCRE.

grex начинался как порт JavaScript-утилиты regexgen и написан на языке программирования Rust.

>>> Подробности

★★★★★

Проверено: Shaman007 ()

Примеры:

$ grex a b c
^[a-c]$

$ grex a c d e f
^[ac-f]$

$ grex a b x de
^(?:de|[abx])$

$ grex abc bc
^a?bc$

$ grex a b bc
^(?:bc?|a)$

$ grex [a-z]
^\[a\-z\]$

$ grex -r b ba baa baaa
^b(?:a{1,3})?$

$ grex -r b ba baa baaaa
^b(?:a{1,2}|a{4})?$

$ grex y̆ a z
^(?:y̆|[az])$
Note: 
Grapheme y̆ consists of two Unicode symbols:
U+0079 (Latin Small Letter Y)
U+0306 (Combining Breve)

$ grex "I ♥ cake" "I ♥ cookies"
^I ♥ c(?:ookies|ake)$
Note:
Input containing blank space must be 
surrounded by quotation marks.
dotcoder ★★★★★ ()

А может проще сесть и осилить регулярки?) Вместо этого забивать голову ещё одним интерфейсом. Мне всегда даже нравится регулярки писать, это как какая-то разминка по-быстрому.

pavlick ★★ ()

нашли на чём писать такие утилиты, а что не на ассме сразу, ах да, он же небезопасный... Возня растабоев с их гарантиями языка, похожа на возню субароводов про то что на их машинах центр тяжести ниже :) - ну т.е. на практике эффекта не особо, зато целая секта...

bonta ★★★★ ()
Ответ на: комментарий от bonta

В треде ниодного растофанатика с криками о бизапаснасти, но ты пришел и насрал, еще и секту какую-то приплел. Есть задача, есть софтина, решающая задачу, ты можешь сказать «нинужно», или написать на чем то тебя устраивающем, и все показать лучшесть своей программы. Но ты предпочел развести говно. Не делай так пожалуйста

anonymous ()
Ответ на: комментарий от WatchCat

Бензодиазепины при фобиях не очень, скорее надо намеренно сталкиваться с предметом, там, доработать программку на расте, написать свою…

token_polyak ()
Последнее исправление: token_polyak (всего исправлений: 2)
Ответ на: комментарий от token_polyak

Бензодиазепины при фобиях не очень,

Так это для начального снятия беспокойства и тревожного состояния. Так-то понятно, что требуется вдумчивая работа психитора.

WatchCat ★★★★★ ()
Ответ на: комментарий от AKonia

Полагаю кто-то просто учился писать на расте.

если у вас есть данные соотв неизвестному шаблону и вы хотите его восстановить

Скорее всего всё печально. Трансформация данных по простому шаблону регуляркой которая не была бы очевидной мне ни разу не попадалась...

peregrine ★★★★★ ()
Ответ на: комментарий от WatchCat

Как минимум будет полезно посмотреть на результат генерации в случаях когда не знаешь как подступиться. Тоесть если я новичёк то посмотрев на выхлоп я такой «аааа, вон оно как можно делать» и уже потом вспоминая логику построения уже пишешь грепы сам. Но, чаще всего если ты пишешь сложные регулярки значит что с вероятностью 95% ты делаешь что-то не так. Рерулярки зло, лишь простые имеют право на жизнь.

anonymous ()

Очень консервативен.

На расте у меня ничего нет. Недавно хотел собрать ipfs (она на go, извеняюсь), долго ебылд что-то качал и глянул во внутрь: https://gitweb.gentoo.org/repo/gentoo.git/tree/net-p2p/go-ipfs/go-ipfs-0.8.0.ebuild

Оно с инетов выкачивает 1380 файлов, у меня вся система с десктопом всего ~1200 пакетов!!!

Всю жизнь собирал проги написанные нормальными компилируемыми языками: fortran, pascal, C. Но сегодня rust, go тянут пол интернета всякого овна. Этим никто пользоватся не будет!

Еще и в помойное ведро rust бросили. Кто теперь сможет провести аудит кода ведра? А как собирать ведро? Предлагаете тянуть пол интернета никем не подписанного, никак не верифицируемого, овна в помойное ведро?

anonymous ()
Ответ на: Очень консервативен. от anonymous

Re: Очень консервативен.

Мама мия. Прими подорожник, бро. Очешуеть. Говно-v1, говно-v2, говно-снэпшот… и так до самого конца.

Между прочим, это еще хороший вариант. Могли бы в какой-нибудь cargo.lock (хз что там в го) всё это запихнуть, и качать во время билда.

anonymous ()
Ответ на: Re: Очень консервативен. от anonymous

Re: Очень консервативен.

оно бы оседало в кэше языкового пакетного менеджера, но т.к. пакетный менеджер сам разруливает зависимости, манифест-файл с каждой установкой был бы ошибочным, так как подтягивались бы новые зависимости, новые версии и тп. Регулярно засирая при этом кэш языкового пм ненужной шелупонью. Либо указывать чтото вроде nocache и постоянно перекачивать даже однажды скачанные фиксированные депенденсы.

Кто упаковывал всякое гамно - поймёт о чем я. Боль.

anonymous ()
Ответ на: Re: Очень консервативен. от anonymous

Re: Очень консервативен.

Мама мия. Прими подорожник, бро. Очешуеть.

Правельные раст с го выкинуть. Это «оно»!!!

Между прочим, это еще хороший вариант.

Больше 1000 разных зависимостей от Васянов всех континентов в одном ебылде хорошим вариантом язык назвать не поворачивается.

и качать во время билда.

Гента собирается преимущественно без подключения к инетам.

anonymous ()

Ну так что, кто-нибудь приведет пример, когда эта программа фэйлит сделать регулярку, или опять самому все надо делать?

anonymous ()