LINUX.ORG.RU

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

 , , ,

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

3

4

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

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

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

★★★★★

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

Хм. Забавно. Надо будет попробовать. Интересно как оно на сложных случаях работает? Простоые и так можно написать одной левой задней пяткой.

WatchCat ★★★★★
()

and Rust library

use grex::RegExpBuilder;

А если вот у меня приложение на C++, как мне эту растовскую либу использовать?

seiken ★★★★★
()

И как мне сгенерить только числа или только заглавные буквы? Не нужно.

acroobat
()

Split может? Например:

'1234567890' -split '(?<=.)(?=.)'
'1234567890' -split '(?<=.)(?=(?:..)+$)'
'1234567890' -split '(?<=.)(?=(?:...)+$)'
anonymous
()

Примеры:

$ 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 ★★
()

Сложные регулярки не осилит всё равно. Хотя бы, чтобы нарезать это сообщения на слова и убрать знаки препинания.

peregrine ★★★★★
()

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

bonta ★★★★★
()

Чем в сабже разбираться, проще регурку написать.

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

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

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

Вот вот - Чего только не придумают чтоб Perl не учить

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

Хм. Забавно. Надо будет попробовать.

+1

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

ехал греха через ЛОРа, видит греха в ЛОР Шаман сунул греха в руст регэкспу, анонимус греха хвать!

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

Полагаю что оно для автоматизированной обработки или например исследования - если у вас есть данные соотв неизвестному шаблону и вы хотите его восстановить

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

не стоит всякую хрень противопоставлять достойным автомобилям

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

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

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

Снесли. САМ! Не знаю что ему в голову ударило, он много раз ее видел до этого.

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

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

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

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

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

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

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

peregrine ★★★★★
()

Четыре тома «Войны и мира» осилит?

anonymous
()
Ответ на: комментарий от 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
()
Ответ на: комментарий от wandrien

У меня и в портретной ориентации работает. Судя по всему от размера экрана зависит.

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

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

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

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

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

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

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

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

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

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

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

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

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

anonymous
()

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

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

Регулярки для макак. Мужчины пишут конечные автоматы.

Автоматы для студоты. Мужики сразу фигачат peg-грамматики!

matumba ★★★★★
()

Пробовал уже online вариант подобных генераторов. Получались крайне громоздские и нечитаемые регулярки.

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

Ну формально оппозитник имеет более низкий центр тяжести и в случае какой-нибудь легаси это вполне помогает. Для форестера уже не так актуально ))

htower_ ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.