Я хотел бы улучшить свои знания о регулярных выражениях. Есть ли какие-нибудь упражнения / инструменты, которые вы бы порекомендовали?





Читать о них - это нормально, но действительно полезно получить практический опыт работы с инструментом.
Попробуйте Регулятор - http://weblogs.asp.net/rosherove/pages/tools-and-frameworks-by-roy-osherove.aspx
Очень рекомендую прочитать Освоение регулярных выражений. Он оправдывает свое название.
Эта книга была первым, что пришло мне в голову.
@ J.J. То же самое. Это отличная книга
Хорошая ссылка на что угодно, кроме упомянутой вами книги. Кроме того, этот ответ был дан на пять минут раньше вашего, и ссылка на книгу верна.
Похоже, вы не можете услышать об этом, не упомянув сову.
Проголосовали за скрытную гиперссылку на ваш блог, а не на книгу, на которую вы ссылаетесь.
Что там со ссылкой?
Это потрясающе. Я не понимал, что существует некоторый сетевой этикет, когда вы не должны ссылаться на свой собственный сайт. Если вы не можете беззастенчиво заниматься саморекламой в этой сети, какая в этом польза?
Хотя бы ссылку на рассматриваемую книгу. Ваша запись в блоге не имеет ничего общего с книгой.
Исправлена рассматриваемая ссылка. С моей стороны это была ошибка буфера обмена. Извиняюсь!
Бросьте прыгать на Haacked, люди. 11 голосов против за реалы?
Начни использовать RegExBuddy!
Вот несколько хороших ресурсов:
http://www.regular-expressions.info/
И мой новый фаворит, https://regex101.com/. Абсолютно блестящий! На самом деле, в наши дни они слишком упрощают жизнь.
Да, вчера я только что поймал выражение для валидатора электронной почты. Спасибо, анонимный автор указанного выражения!
Мне нравится www.regular-expressions.info, это здорово. Время от времени, когда я хочу использовать более неясное выражение, я обращаюсь к этому сайту ....
Perl + Roberts Perl Tutorial - источник большинства моих способностей к регулярным выражениям.
regular-expressions.info - отличный сайт, а RegexBuddy - отличный инструмент для визуализации.
Как упоминает Joe90, чтение о них уведет вас далеко;)
Лично я считаю http://www.regular-expressions.info/ отличным ресурсом для регулярных выражений.
Практика, практика, практика. Я всегда считал Страница руководства Perl по регулярным выражениям отличным справочником для всех распространенных символов и команд регулярных выражений POSIX.
Также попробуйте perldoc.perl.org/perlretut.html
Помимо уже упомянутых, вы можете попробовать Regex тренер. Я слышал об этом хорошее.
Чтобы освоить их, не останавливайтесь на чтении о них. Спуститесь по списку сообщения с тегами regex и начните решать проблемы. Не ищите ответы, пока не будете готовы.
Я использую Освоение регулярных выражений от O'Reilly.
lol, я нажал на эту тему, чтобы разместить ссылку на эту книгу .. слишком подходит для вопроса: P
Мой 2р: Ссылки на книги не должны быть так высоко оценены. Онлайн-ресурсы (например, те, которые я упомянул, например), которые мы можем использовать сейчас, лучше. Конечно, у меня есть лошадь на скачках.
@MrBoJangles - мне нравится книжный формат для одних вещей, и мне нравится цифровой формат для других: выбор хороший :)
Выбор - это хорошо, и я все о весе, запахе и тактильности мертвого дерева. Я утверждаю, что доступ - это король. Итак, иерархия такова: ответы - самые лучшие (самые быстрые), ссылки на ответы - на втором месте, рекомендации по книгам - на последнем, но не без значения.
@RobHoward raw.githubusercontent.com/thepracticaldev/orly-full-res/master /…, raw.githubusercontent.com/thepracticaldev/orly-full-res/master /… (источник: github.com/thepracticaldev/orly-full-res)
Учебники:
http://www.regular-expressions.info/tutorial.html - отличный учебник по регулярному выражению
Онлайн-тестеры:
http://osteele.com/tools/reanimator/ - он анимирует ваше регулярное выражение как автомат, круто!
http://regexpal.com/ - действительно круто и удобно
http://www.fileformat.info/tool/regex.htm
Инструменты:
http://www.radsoftware.com.au/regexdesigner/
.Net:
http://msdn.microsoft.com/en-us/library/az24scfc(VS.71).aspx
Специфично для Java:
http://java.sun.com/docs/books/tutorial/essential/regex/
Специфические для GeneXus X:
http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?4606
Теперь мы дали много указателей, чтобы узнать больше о регулярных выражениях, возможно, стоит процитировать Джейми Завински:
Некоторые люди, столкнувшись с проблемой, думают: «Я знаю, я буду использовать регулярные выражения». Теперь у них две проблемы.
Часть изучения регулярных выражений - это понять, когда их не использовать (и когда они уместны).
Приятно это сказать, но бывают случаи, когда использование регулярного выражения действительно является правильным ответом, особенно в более простых случаях использования, когда регулярное выражение довольно понятно.
Превосходно. Я принял это как эвристику или практическое правило, если вам не нравится педантичное звучание слова «эвристический».
Джон, мне казалось очевидным (теперь расширено), что я не говорил, что вы должны никогда использовать их. Бывают случаи, когда они - правильный инструмент. К сожалению, это тоже небольшая часть случаев, когда люди их пробуют.
Да, вы неправильно поняли цитату. Я полагаю, он сказал это во время выступления против Perl (возможно, потому, что в 97-м году было трудно инициировать функцию регулярного выражения в Perl). Он не говорил, что не используйте это.
Как указал Саймон. Самая важная часть в освоении Regex - это когда НЕ использовать регулярное выражение, но со временем это умение придет. А до тех пор используйте регулярное выражение, когда вы делаете находки Word, или в своем любимом текстовом редакторе, или в Excel. Везде, где у вас есть такая возможность, используйте ее, пока не научитесь с ней хорошо справляться.
Кроме того, узнайте об этих концепциях довольно рано.
Пока я работаю, я держу копию Справочник по карману регулярных выражений под рукой - она дает мне необходимую краткую информацию об использовании RegEx примерно на десятке доступных языков.
Судя по всему, это не издается.
Следующее издание находится в печати по адресу oreilly.com/catalog/9780596514273/index.html.
Лучший способ освоить регулярные выражения - это использовать их в повседневной работе. Используйте редактор с поддержкой регулярных выражений. Рекомендую Блокнот ++. Используйте функцию поиска и замены с включенным регулярным выражением.
Для начала вам нужно знать только основы. Слова, символы, числа, пробелы. Их довольно легко запомнить. С первого раза не все получается правильно. Но вы будете учиться каждый раз, когда попробуете.
Помните, если вы не используете его регулярно, вы, вероятно, забудете регулярное выражение через пару недель.
Экспрессо - довольно хорошая бесплатная утилита RegEx:
http://www.ultrapico.com/Expresso.htm
И Памятка по регулярным выражениям, который пригодится:
http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/
Гордон, это отличные предложения. Хотел бы я проголосовать дважды :-)
Я узнал о них, изучая Perl и используя его для создания парсера файла конфигурации. Если вы хотите сделать что-то подобное в наши дни, я бы посоветовал Ruby, в котором есть похожий хук для RE. Изучив основы, я обнаружил, что многие инструменты, которые я использовал, имеют отличную поддержку RE, если вы знали, как ее использовать. Это действительно очень мощно.
Я настоятельно рекомендую Карманный справочник регулярных выражений, о котором упоминали другие. Гораздо проще будет оставаться поблизости, чтобы что-то быстро найти, так как вам нужно будет это сделать. Не говоря уже о том, что многие приложения имеют несколько разные способы реализации некоторых его частей (например, нужно ли использовать обратную косую черту в escape-скобках).
Если вы много занимаетесь обработкой текста, рекомендую изучить RE. Вы это оцените.
Убедитесь, что вы понимаете основы. Вы можете получить это из множества источников (в зависимости от вашего выбора вкуса регулярного выражения).
Вы можете поиграть с ними на чем-нибудь вроде это.
Вы никогда не сможете освоить регулярные выражения. Когда вы думаете, что это так, вы понимаете, что вас овладели регулярными выражениями.
Не говоря уже о том, что Perl RegEx продолжает получать новые полезные функции.
В России-матушке регулярные выражения овладевают тобой!
Исправьте ошибки в книге Джеффа Фридла, прежде чем он это сделает. Пока вы этого не сделаете, вы не освоите регулярные выражения.
Если вы работаете в .NET, я рекомендую этот сайт, чтобы визуализировать ваши результаты, а также посмотреть, как настроить ваш код.
Я обнаружил, что изучение того, как они были реализованы под капотом, действительно помогло. На самом деле я впервые столкнулся с регулярными выражениями, изучая языки и дизайн компиляторов. Зная, откуда они берутся, и как они связаны с грамматиками, DFA, лексерами и т. д., Я думаю, это реальная помощь. Это особенно помогает при отладке, так как вы можете, так сказать, понять регулярное выражение.
http://www.gskinner.com/RegExr/
это то, что я нашел после просмотра некоторых других сайтов
@stema ссылка плохая