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

Есть ли у них какие-либо мастера или инструменты для создания и тестирования регулярных выражений для PHP, потому что это так сложно :( ? спасибо :)


person ahmed    schedule 12.02.2009    source источник
comment
Связанный вопрос: stackoverflow.com/questions/514834 /   -  person David Hanak    schedule 13.02.2009


Ответы (20)


RegexBuddy — широко популярное приложение для этой цели. Он также стоит 40 долларов и работает только на Windows.

Чтобы узнать о мощных бесплатных альтернативах, см. этот ответ.

person David Hanak    schedule 12.02.2009
comment
RegexBuddy настолько хорош, что я не могу выразить его в 300 символах. Вернул все, что (30 или 50 долларов) я заплатил за это в течение нескольких дней. - person MattBelanger; 18.02.2009

reAnimator — хороший инструмент для визуализации вашего регулярного выражения в виде конечного автомата. Иногда я нахожу его полезным.

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

person Triptych    schedule 12.02.2009

Модульное тестирование с примерами данных. Создайте два массива, один с совпадающими данными и один с несовпадающими данными, если это необходимо для проверки пограничных случаев.

person Andrew Vit    schedule 12.02.2009
comment
Хотя мне нравятся управляемые вручную инструменты, такие как RegExpBuddy, и надстройка, доступная для IntelliJ, наличие некоторых модульных тестов для увеличения долгосрочных шансов того, что выражение останется действительным, всегда является хорошей идеей. - person belugabob; 15.07.2009

Пробная версия и ошибка успешны.

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

То же самое относится к любому языку/инструменту — потратьте немного времени на изучение синтаксиса и общего духа, и вы будете гораздо более продуктивными, чем полагаясь на intellisense, подсказки по коду и т. д.

person Peter Boughton    schedule 13.07.2009
comment
Слышу, слышу! (И язык регулярных выражений далеко не так сложен, как кажется на первый взгляд... Я получаю их с первой попытки гораздо чаще, чем нет.) - person Dave Sherohman; 15.07.2009
comment
Я получаю их правильно с третьей попытки гораздо чаще, чем нет, но я вернусь к вам через несколько лет. - person Telemachus; 16.07.2009

Существуют мощные онлайн-инструменты. Не в сети,

  • Инструктор по регулярным выражениям – отличный бесплатный автономный инструмент для регулярных выражений, который я использую довольно регулярно.
  • Мне также нравится RegEx Buddy, но он стоит 40 долларов США, а я дешев.
person Chris Ballance    schedule 12.02.2009

Expresso — это бесплатная программа для Windows, которая дает хорошее объяснение анализируемого регулярного выражения.

Онлайн-инструменты, которые можно запустить прямо из браузера, см. в этом ответе.

person Learning    schedule 13.02.2009

я всегда использую это: http://gskinner.com/RegExr/

person Lance Kidwell    schedule 12.02.2009
comment
Это был ужасный инструмент, основанный на Flash. К счастью, сейчас он мертв. - person Dan Dascalescu; 26.02.2014

Методом проб и ошибок.

И print_r.

person strager    schedule 12.02.2009
comment
Это звучит как самый болезненный способ создания регулярных выражений. - person Chris Ballance; 13.02.2009

Мне очень нравится RegexPal, который прост, понятен, не требует установки и находится в свободном доступе в Интернете.

person Wookai    schedule 12.02.2009
comment
Regex101 намного мощнее, чем RegexPal. - person Dan Dascalescu; 26.02.2014

Онлайн... есть средство проверки регулярных выражений ajax с реализациями js/pcre/posix, которое проверяет, как вы печатаете... круто.

http://www.rexv.org

person null    schedule 13.02.2009

Regex Buddy — это излишество (40 долларов) и работает только в Windows. Возможно, в 2009 году это был хороший выбор.

Теперь у нас есть бесплатные мощные онлайн-инструменты для создания и тестирования регулярных выражений. Regex101 — одно из них:

  • позволяет выбрать движок RE (PCRE, JavaScript, Python)
  • раскрашивает спички
  • объясняет регулярное выражение на лету
  • есть отладчик
  • может создавать постоянные ссылки на игровую площадку регулярных выражений.

Дополнительные инструменты тестирования регулярных выражений в другом моем ответе.

person Dan Dascalescu    schedule 26.02.2014

Обычно я использую Rubular, когда работаю над тестированием регулярного выражения. Вы также можете попробовать txt2re.com, это может быть удобно для определения выражения и может даже сгенерировать соответствующий PHP код.

person Chad Birch    schedule 12.02.2009

Раньше я использовал The Regex Coach. Но поскольку он основан на Perl и большую часть времени я тестирую регулярные выражения .NET, теперь я использую этот онлайн-тестер регулярных выражений .NET. .

person Steve Wortham    schedule 13.07.2009

Мне понравился ребилдер emacs.

person Paul Nathan    schedule 13.07.2009

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

person Chris Nielsen    schedule 13.07.2009

Поскольку вы говорите о PHP, вас может заинтересовать Codebench. Это инструмент не специально для разбора регулярных выражений (у вас уже есть много перечисленных), а для их сравнительного анализа. Поскольку он довольно общий, вы также можете сравнить решения без регулярных выражений, поскольку часто собственные строковые функции работают быстрее. Более того, он также позволяет сравнивать несколько предметов (целей). Надеюсь, вы найдете ее полезной.

person Geert    schedule 15.07.2009

Я использую модульное тестирование. Таким образом, я могу постепенно увеличивать свое регулярное выражение, будучи уверенным, что первые протестированные мной случаи все еще проходят. И если когда-нибудь мне придется изменить его, у меня есть все мои тесты, чтобы поддержать меня.

person philant    schedule 29.11.2009

Вот еще один онлайн-тестер регулярных выражений для Java:

http://www.fileformat.info/tool/regex.htm

person JohnFx    schedule 12.02.2009

Для онлайн-тестирования Regx http://www.regexr.com/ используйте этот сайт, и если ваш regx работает на этом затем вы можете проверить его на наличие php на сайте writecodeonline.com с помощью функции preg_match().

person ankkuboss    schedule 26.02.2014