Подтвердить что ты не робот

Как осваивать регулярные выражения?

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

4b9b3361

Ответ 4

Учебники:

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

Ответ 6

Начните использовать RegExBuddy!

Ответ 7

Лучший способ освоить регулярные выражения - это использовать их в повседневной работе. Используйте редактор с регулярным выражением. Я рекомендую NotePad ++. Используйте функцию поиска и замены с включенным регулярным выражением.

Вам нужно знать только основы, чтобы начать. Слова, персонажи, цифры, пробелы. Их довольно легко запомнить. В первый раз вы не получите все правильно. Но вы будете учиться каждый раз, когда вы это пробуйте.

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

Ответ 8

Чтобы справиться с ними, не останавливайтесь на чтении о них. Перейдите в список сообщений с тегами regex и начните решать проблемы. Не заглядывайте в ответы, пока не будете готовы.

Ответ 10

Я держу копию регулярного выражения Pocket Reference под рукой, пока я работаю - это дает мне краткую информацию о необходимости использования из RegEx примерно в десяти языках.

Ответ 11

Как упоминает Joe90, чтение о них проходит долгий путь;)

Лично я нахожу http://www.regular-expressions.info/ отличный ресурс для регулярного выражения.

Ответ 13

Помимо уже упомянутых, вы можете попробовать Regex Coach. Я хорошо слышал об этом.

Ответ 14

Теперь мы дали много указаний, чтобы больше узнать о регулярных выражениях, вероятно, стоит назвать Jamie Zawinski:

Некоторые люди, столкнувшись с проблемой, думают: "Я знаю, я буду использовать регулярные выражения". Теперь у них есть две проблемы.

Часть изучения регулярных выражений учится, когда не использовать их (и когда они подходят).

Ответ 15

Как отметил Симон. Самая важная часть в освоении Regex - это когда НЕ использовать регулярное выражение, но это умение придет в конечном итоге. До тех пор используйте регулярное выражение, когда вы выполняете поиск в Word или в своем текстовом редакторе или в Excel. В любом месте, которое дает вам этот вариант, возьмите его, пока не получите хорошую ручку.

Кроме того, узнайте об этих понятиях довольно рано.

  • жадный
  • ленивым
  • какая разница между "." и "\ w"
  • "\ б"
  • классы коротких символов ( "\ s", "\ d" и т.д.)

Ответ 17

Perl + Roberts Perl Tutorial является источником большинства моих возможностей регулярных выражений.

Ответ 18

Я узнал о них, изучив Perl и используя его для создания парсер конфигурационного файла. Если бы вы хотели сделать что-то подобное в наши дни, я бы предложил Ruby, у которого есть подобный крючок для RE. Когда я узнал об основных принципах, я обнаружил, что многие из инструментов, которые я использовал, имели отличную поддержку RE, если бы вы знали, что хотите использовать ее. Это действительно очень мощный.

Я настоятельно рекомендую ссылку на регулярные выражения Pocket Reference, о которой упоминали другие. Нам будет намного проще найти что-то быстро, как вам нужно будет сделать. Не говоря уже о том, что многие приложения имеют несколько разные способы реализации некоторых его частей (т.е. Должны ли вы иметь обратную косую черту в скобках).

Если вы много обрабатываете текст, я рекомендую изучать RE. Вы оцените его.

Ответ 19

Удостоверьтесь, что вы понимаете основы. Вы можете получить это из разных источников (в зависимости от вашего выбора аромата регулярного выражения).

Вы можете поиграть с ними над чем-то вроде this.

Ответ 20

Вы никогда не сможете освоить регулярные выражения. Просто, когда вы думаете, что поняли, что это обычные выражения, которые овладели вами.

Ответ 21

Исправить ошибки в книге Джеффа Фридля, прежде чем он это сделает. Пока вы этого не сделаете, вы не освоили регулярные выражения.

Ответ 22

Я обнаружил, что изучение того, как они были реализованы под капотом, действительно помогло. Фактически, это изучение языков и дизайн компилятора, с которыми я впервые сталкивался с регулярными выражениями. Зная, откуда они взялись, и как они относятся к грамматикам, DFA, лексеры и т.д. Я думаю, что это настоящая помощь. Это особенно помогает при отладке, так как вы можете так часто входить в ум регулярного выражения.

Ответ 24

Если вы работаете в .NET, я рекомендую этот сайт, чтобы визуализировать ваши результаты, а также посмотреть, как настроить свой код.