Мне часто приходится создавать регулярные выражения для использования в сценариях (в основном при использовании в них sed
), однако, я нахожу, что иногда регулярные выражения становятся очень сложными и трудными для понимания и редактирования. Существует ли какое-либо программное обеспечение, позволяющее визуально создавать код для регулярных выражений, который я затем могу скопировать и вставить в скрипт?
software-rec
regular-expression
gui
Деревня
источник
источник
Как насчет kregexpeditor
источник
Попробуйте txt2regex и посмотрите, поможет ли это. Я никогда не использовал это всерьез, но это было круто, когда я попробовал.
источник
Существует кодос, если вы предпочитаете отдельное приложение. В последнее время я использую онлайн визуализаторы регулярных выражений, такие как http://debuggex.com или http://www.regexper.com/
источник
Не совсем то, о чем просит OP - но я думаю, что это уместно, поэтому я буду пересекать Рекомендацию для редактора Regex? # 549107 - Спросите Ubuntu :
Вот моя попытка использовать графический инструмент для визуальных регулярных выражений
visRegexTester.py
:Он имеет «предварительный просмотр в реальном времени» («Auto rerun»), если вы вводите и изменяете поле «regex». В противном случае это просто один файл; в начале есть комментарий README - вот фрагмент из него:
... посмотрите остальное за подробностями. Скриншот:
источник
Да, text2re.com должен быть близок к тому, что вы ищете. По заданному исходному тексту вы можете создать регулярное выражение, соответствующее любому заданному тексту. Инструмент также генерирует код для небольшого количества языков.
Пользовательский интерфейс построителя регулярных выражений (шаг 2 на странице) немного сложен для изучения; обратите внимание, что при наведении курсора на любой из параметров объясняется объект, с которым вы подходите:
источник
Я не совсем уверен, что вы подразумеваете под «визуальным созданием кода» (вы имеете в виду инструмент с графическим интерфейсом?). Если вы похожи на меня, я считаю , что невозможно работать с комплексными регулярными выражениями, если я не выложите их в структурированной форме, так что я могу получить более визуальное представление логики.
На самом деле,
sed
это просто язык сценариев, и он может быть выложен как другие языки, т.е. с одной командой на строку. Вот типичный пример того, что я имею в виду: регулярное выражение sed, показывающее структурированный макет .Очень удобной особенностью
sed
является команда отладкиl
, которая представляет собой простой дамп строки, показывающий пространство шаблона со встроенными символами новой строки, показанными как\n
и т. Д.Проблема
sed
не только в регулярных выражениях. У этого есть напуганный загадочный набор команд для зацикливания и проверки состояния; это требует времени, чтобы привыкнуть ... Лучший инструмент, который я когда-либо нашел, чтобы помочь мне справиться с этимsed
, довольно прост: я прочитал руководство подробно ... С этого момента , это всего лишь процесс начала с малого и получения простые вещи работают; затем построить более крупные вещи, чтобы получить опыт ..В Perl regex есть несколько полезных функций, помогающих в построении сложных шаблонов; например. способность игнорировать пробелы в вашем выражении .. (В качестве проблемы и для фактора expereince я написал
sed
синтаксический анализатор для анализа моегоsed
кода, чтобы разрешить такие пробелы ... PS. Мне это сейчас не нужно; из-за опыта :) На самом деле простое размещение команд, по одной на строку, почти так же хорошо, как и функция perl.Лучший инструмент, чтобы помочь вам это: опыт . например. Решение проблемы , регулярные выражение вопросов на этом сайте , это отличный способ , чтобы получить этот опыт ... Я чувствую , что GUI инструменты не очень помогает, потому что они подавляют опыт ...
Таким образом, лучшие вспомогательные инструменты - это опыт и структурированный макет , а также прочитайте руководство (подробно).
Я часто использовал слово «expereince» .. под этим я подразумеваю, что
sed
ключевым моментом является подготовка регулярных выражений (и в случае любой логики циклического выполнения и т. Д.). Тип "Regex-Builder" инструменты; не пишите регулярное выражение для вас; они только проверяют это, и они, конечно , не будут обрабатывать программную логику sed , потому что это не регулярное выражение ... (и вы специально выделилиsed
) ... Подсветка синтаксиса, которую они могут предложить, мало что для меня делает , Хотя редактор с хорошим совпадением скобок очень удобен (я использую emacs) ..источник
emacs re-builder
и это мне совсем не помогло ... не за день 1 ... Все, что он мне показал, это то, что вemacs
нем нужна дополнительная обратная косая черта или две, из-за того, как emacs оценивает вещи ... Вы можете сделать тот же тест, оценивая ваше регулярное выражение черезC-x C-e
... Он не пишет выражение для вас; Вы все еще должны написать это ... И затем естьemacs
система написания регулярных выражений с использованием описательных слов ... (Я думал, что многословная / похожая на английский система вымерла с COBOL .. но даже COBOL не полностью мертв, пока что) .. и уважает, тебе все равно нужно это написать.