Я создаю помощника регулярных выражений по адресу http://www.debuggex.com . Объем детали, который я хочу показать, требует от меня написать собственный парсер и помощник.
Чтобы убедиться, что мой парсер и помощник работают правильно, я написал свои собственные модульные тесты для Javascript-аромата регулярных выражений, но они охватывают только крайние случаи, о которых я знаю. Я хотел бы использовать стандартный набор тестов и недавно был указан на http://hg.ecmascript.org/tests/test262/summary , который я буду использовать.
Мой вопрос в том, где я могу найти такие комплекты тестов для других ароматов регулярных выражений? Я бы хотел поддержать другие вкусы в будущем. Я не смог найти что-либо по googling («тест» загрязняет результаты с помощью тестеров regex). Я ищу тестовые наборы для языков python , php , perl , java , ruby и .net .
Большинство из этих языков имеют открытый исходный код. Любой достойный проект должен иметь свои тестовые примеры в упомянутом репо, иначе я был бы очень обеспокоен.
- Регулярные тесты Python
- Регулярные тесты PHP
- Тесты регулярного выражения Perl выглядят действительно обширными
- Открытые модульные тесты JDK (с открытым исходным кодом Java)
- Регулярные тесты Ruby
- Моно -регулярные тесты (версия с открытым исходным кодом .NET)
- Тесты RE2 (реляционный движок C ++, разработанный в Google)
- C (разработанный AT & T Research)
- Тесты регулярного выражения PCRE (библиотека регулярных выражений Perl C)
- Тесты регулярного выражения JavaScript (комплект совместимости Ecma Technical Committee 39)
Я также нашел обширный график на этой странице, который может вам помочь.
Чтобы иметь полный список на одной странице, я нашел те, которые были опущены из принятого ответа:
- Моно регулярные тесты (это версия с открытым исходным кодом .net)
- Регулярные тесты PHP
Дополнительные пакеты для регулярных выражений для дополнительных языков:
- Стандартные тесты регулярных библиотек D
- Регулярные тесты Go
- Тесты GNU grep (двигатель командной строки C)
- regex-posix-unittest (набор тестов regex для POSIX, написанный в Haskell)
- Регулярные тесты ICU (библиотеки C / C ++ и Java для Unicode, найдите файлы с именем
re[_g].*txt
)
- Тесты регулярного выражения .NET Core Framework (C #)
- Регулярные тесты Rust
- Тесты регулярного выражения TCL (найдите
reg.*test
файлы reg.*test
)
- Тесты регулярного выражения TRE (двигатель C regex, предназначенный для строгого соответствия POSIX)
- Регулярные тесты V8 (V8 – механизм JavaScript в Chrome, поиск файлов с именем
.*regexp.*js
)
- Тесты регулярного выражения WebKit (тесты JavaScript находятся в папках сценариев)
- Регулярные тесты Ярра (механизм регулярных выражений C ++ для JavaScriptCore WebKit)
бонус
- Regfuzz (инструментарий C для проверки устойчивости регулярных выражений с использованием произвольно сгенерированных и недопустимых регулярных выражений)