Где я могу найти модульные тесты для регулярных выражений на нескольких языках?
Я создаю помощник регулярного выражения http://www.debuggex.com. Объем детали, который я хочу показать, требует, чтобы я написал свой собственный парсер и помощник.
Чтобы убедиться, что мой парсер и помощник работают правильно, я написал свои собственные модульные тесты для Javascript-аромата регулярных выражений, но это касается только красных случаев, о которых я знаю. Я хотел бы использовать стандартный набор тестов и недавно указал на http://hg.ecmascript.org/tests/test262/summary, который я буду использовать.
Мой вопрос в том, где я могу найти такие комплекты тестов для других ароматов regex? Я бы хотел поддержать другие вкусы в будущем. Я не смог найти что-либо по googling ( "тест" загрязняет результаты с помощью тестеров regex). Я ищу тестовые пакеты для языков python, php, perl, java, ruby и .net.
Ответы
Ответ 1
Большинство из этих языков с открытым исходным кодом. У любого приличного проекта должны быть свои тесты в указанном репо, иначе я был бы весьма обеспокоен.
- Тесты на регулярные выражения Python
- PHP регулярные тесты
- Perl регулярные тесты выглядят действительно обширно
- Открытые модульные тесты JDK (разновидность Java с открытым исходным кодом)
- Тесты на регулярные выражения в Ruby
- Моно регулярные тесты (версия с открытым исходным кодом .NET)
- Тесты RE2 (движок C++ regex, разработанный в Google)
- C тестовый набор (разработанный AT & T Research)
- Тесты регулярных выражений PCRE (библиотека C регулярных выражений, совместимая с Perl)
- Тесты регулярных выражений JavaScript (комплект совместимости Ecma Technical Committee 39)
На этой странице я также нашел обширную таблицу, которая может вам помочь.
Ответ 2
Чтобы иметь полный список на одной странице, я нашел те, которые были опущены из принятого ответа:
Ответ 3
Дополнительные пакеты для регулярных выражений для дополнительных языков:
Bonus
- Regfuzz (инструментарий C для проверки устойчивости регулярных выражений с использованием произвольно сгенерированных и недопустимых регулярных выражений)