Есть ли у них какие-либо мастера или инструменты для создания и тестирования регулярных выражений для PHP, потому что это так сложно :( ? спасибо :)
Как вы пишете и тестируете свои регулярные выражения?
Ответы (20)
RegexBuddy — широко популярное приложение для этой цели. Он также стоит 40 долларов и работает только на Windows.
Чтобы узнать о мощных бесплатных альтернативах, см. этот ответ.
reAnimator — хороший инструмент для визуализации вашего регулярного выражения в виде конечного автомата. Иногда я нахожу его полезным.
Python также позволяет вам просмотреть дерево синтаксического анализа регулярных выражений, что может быть полезно, если вы научитесь читать его.
Модульное тестирование с примерами данных. Создайте два массива, один с совпадающими данными и один с несовпадающими данными, если это необходимо для проверки пограничных случаев.
Пробная версия и ошибка успешны.
Потому что я потратил время, чтобы на самом деле научиться этому, вместо того, чтобы полагаться на что-то еще, чтобы сделать это за меня.
То же самое относится к любому языку/инструменту — потратьте немного времени на изучение синтаксиса и общего духа, и вы будете гораздо более продуктивными, чем полагаясь на intellisense, подсказки по коду и т. д.
Существуют мощные онлайн-инструменты. Не в сети,
- Инструктор по регулярным выражениям – отличный бесплатный автономный инструмент для регулярных выражений, который я использую довольно регулярно.
- Мне также нравится RegEx Buddy, но он стоит 40 долларов США, а я дешев.
Expresso — это бесплатная программа для Windows, которая дает хорошее объяснение анализируемого регулярного выражения.
Онлайн-инструменты, которые можно запустить прямо из браузера, см. в этом ответе.
я всегда использую это: http://gskinner.com/RegExr/
Методом проб и ошибок.
И print_r
.
Онлайн... есть средство проверки регулярных выражений ajax с реализациями js/pcre/posix, которое проверяет, как вы печатаете... круто.
Regex Buddy — это излишество (40 долларов) и работает только в Windows. Возможно, в 2009 году это был хороший выбор.
Теперь у нас есть бесплатные мощные онлайн-инструменты для создания и тестирования регулярных выражений. Regex101 — одно из них:
- позволяет выбрать движок RE (PCRE, JavaScript, Python)
- раскрашивает спички
- объясняет регулярное выражение на лету
- есть отладчик
- может создавать постоянные ссылки на игровую площадку регулярных выражений.
Дополнительные инструменты тестирования регулярных выражений в другом моем ответе.
Обычно я использую Rubular, когда работаю над тестированием регулярного выражения. Вы также можете попробовать txt2re.com, это может быть удобно для определения выражения и может даже сгенерировать соответствующий PHP код.
Раньше я использовал The Regex Coach. Но поскольку он основан на Perl и большую часть времени я тестирую регулярные выражения .NET, теперь я использую этот онлайн-тестер регулярных выражений .NET. а>.
Мне понравился ребилдер emacs.
Я написал свой собственный инструмент: Тестер регулярных выражений. В отличие от многих других веб-инструментов, этот может разбить регулярное выражение на токены и описать, что делает каждый токен. Он отлично подходит для изучения новых выражений или выражений, которые вы написали давным-давно и не совсем помните.
Поскольку вы говорите о PHP, вас может заинтересовать Codebench. Это инструмент не специально для разбора регулярных выражений (у вас уже есть много перечисленных), а для их сравнительного анализа. Поскольку он довольно общий, вы также можете сравнить решения без регулярных выражений, поскольку часто собственные строковые функции работают быстрее. Более того, он также позволяет сравнивать несколько предметов (целей). Надеюсь, вы найдете ее полезной.
Я использую модульное тестирование. Таким образом, я могу постепенно увеличивать свое регулярное выражение, будучи уверенным, что первые протестированные мной случаи все еще проходят. И если когда-нибудь мне придется изменить его, у меня есть все мои тесты, чтобы поддержать меня.
Вот еще один онлайн-тестер регулярных выражений для Java:
http://www.fileformat.info/tool/regex.htm
Для онлайн-тестирования Regx http://www.regexr.com/ используйте этот сайт, и если ваш regx работает на этом затем вы можете проверить его на наличие php на сайте writecodeonline.com с помощью функции preg_match().
Для этого я написал библиотеку Python, она находится под cloudtb.re< /а>
text = 'so foo is the opposite of bar but without foo there is no bar?'
exp = '(foo).*?(bar)'
searched = cre.research(exp, text)
print(searched)