Ответ 1
Я использую Освоение регулярных выражений от O'Reilly.
Я хочу улучшить свои знания в регулярном выражении. Есть ли какие-либо упражнения/инструменты, которые вы бы рекомендовали?
Я использую Освоение регулярных выражений от O'Reilly.
Вот несколько хороших ресурсов:
Я очень рекомендую читать Освоение регулярных выражений. Он оправдывает свое название.
Учебники:
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
regular-expressions.info - отличный сайт, и RegexBuddy - отличный инструмент визуализации.
Начните использовать RegExBuddy!
Лучший способ освоить регулярные выражения - это использовать их в повседневной работе. Используйте редактор с регулярным выражением. Я рекомендую NotePad ++. Используйте функцию поиска и замены с включенным регулярным выражением.
Вам нужно знать только основы, чтобы начать. Слова, персонажи, цифры, пробелы. Их довольно легко запомнить. В первый раз вы не получите все правильно. Но вы будете учиться каждый раз, когда вы это пробуйте.
Помните, что если вы не используете его регулярно, вы, вероятно, забудете регулярное выражение через пару недель.
Чтобы справиться с ними, не останавливайтесь на чтении о них. Перейдите в список сообщений с тегами regex и начните решать проблемы. Не заглядывайте в ответы, пока не будете готовы.
Expresso - довольно хорошая, бесплатная утилита RegEx:
http://www.ultrapico.com/Expresso.htm
И Regular Expressions Cheat Sheet, который вам пригодится:
http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/
Я держу копию регулярного выражения Pocket Reference под рукой, пока я работаю - это дает мне краткую информацию о необходимости использования из RegEx примерно в десяти языках.
Как упоминает Joe90, чтение о них проходит долгий путь;)
Лично я нахожу http://www.regular-expressions.info/ отличный ресурс для регулярного выражения.
Практика, практика, практика. Я всегда находил страницу руководства Perl на регулярных выражениях, чтобы быть отличной ссылкой для всех обычных символов и команд регулярного выражения POSIX.
Помимо уже упомянутых, вы можете попробовать Regex Coach. Я хорошо слышал об этом.
Теперь мы дали много указаний, чтобы больше узнать о регулярных выражениях, вероятно, стоит назвать Jamie Zawinski:
Некоторые люди, столкнувшись с проблемой, думают: "Я знаю, я буду использовать регулярные выражения". Теперь у них есть две проблемы.
Часть изучения регулярных выражений учится, когда не использовать их (и когда они подходят).
Как отметил Симон. Самая важная часть в освоении Regex - это когда НЕ использовать регулярное выражение, но это умение придет в конечном итоге. До тех пор используйте регулярное выражение, когда вы выполняете поиск в Word или в своем текстовом редакторе или в Excel. В любом месте, которое дает вам этот вариант, возьмите его, пока не получите хорошую ручку.
Кроме того, узнайте об этих понятиях довольно рано.
Чтение о них в порядке, но на самом деле получение опыта с помощью инструмента действительно полезно.
Попробуйте регулятор - http://weblogs.asp.net/rosherove/pages/tools-and-frameworks-by-roy-osherove.aspx
Perl + Roberts Perl Tutorial является источником большинства моих возможностей регулярных выражений.
Я узнал о них, изучив Perl и используя его для создания парсер конфигурационного файла. Если бы вы хотели сделать что-то подобное в наши дни, я бы предложил Ruby, у которого есть подобный крючок для RE. Когда я узнал об основных принципах, я обнаружил, что многие из инструментов, которые я использовал, имели отличную поддержку RE, если бы вы знали, что хотите использовать ее. Это действительно очень мощный.
Я настоятельно рекомендую ссылку на регулярные выражения Pocket Reference, о которой упоминали другие. Нам будет намного проще найти что-то быстро, как вам нужно будет сделать. Не говоря уже о том, что многие приложения имеют несколько разные способы реализации некоторых его частей (т.е. Должны ли вы иметь обратную косую черту в скобках).
Если вы много обрабатываете текст, я рекомендую изучать RE. Вы оцените его.
Удостоверьтесь, что вы понимаете основы. Вы можете получить это из разных источников (в зависимости от вашего выбора аромата регулярного выражения).
Вы можете поиграть с ними над чем-то вроде this.
Вы никогда не сможете освоить регулярные выражения. Просто, когда вы думаете, что поняли, что это обычные выражения, которые овладели вами.
Исправить ошибки в книге Джеффа Фридля, прежде чем он это сделает. Пока вы этого не сделаете, вы не освоили регулярные выражения.
Я обнаружил, что изучение того, как они были реализованы под капотом, действительно помогло. Фактически, это изучение языков и дизайн компилятора, с которыми я впервые сталкивался с регулярными выражениями. Зная, откуда они взялись, и как они относятся к грамматикам, DFA, лексеры и т.д. Я думаю, что это настоящая помощь. Это особенно помогает при отладке, так как вы можете так часто входить в ум регулярного выражения.
http://www.gskinner.com/RegExr/
- это то, что я нашел после просмотра других сайтов
Если вы работаете в .NET, я рекомендую этот сайт, чтобы визуализировать ваши результаты, а также посмотреть, как настроить свой код.