Де я можу знайти модульні тести для регулярних виразів різними мовами?


78

Я будую помічника регулярних виразів за адресою http://www.debuggex.com . Кількість деталей, які я хочу показати, вимагає від мене власного аналізатора та збігу.

Щоб переконатись, що мій аналізатор та збіжник працюють правильно, я написав власні модульні тести на смак регулярних виразів Javascript, але це стосується лише тих випадків, про які я знаю. Я хотів би скористатися стандартним набором тестів, і нещодавно мені вказали http://hg.ecmascript.org/tests/test262/summary , який я буду використовувати.

Моє запитання: де я можу знайти такі тестові набори для інших ароматів регулярного виразу? Я хотів би підтримати інші смаки в майбутньому. Я не зміг нічого знайти за допомогою гуглиння ("тест" забруднює результати тестерами регулярних виразів). Я шукаю тестові набори для мов python , php , perl , java , ruby та .net .


12
Класний проект! Для початку, Python має модульні тести для свого reмодуля .
voithos

2
Хороша робота над налагодженням! Це чудово!
Mchl,

1
Це справді круто, чудова робота.
Фрамбот,

regexbuddy - приємний інструмент!
Stphane

Чи можна було б вам поділитися модульними тестами, про які ви згадали, що створили для JS-смаку регулярного виразу?
Kaustubh Karkare

Відповіді:


54

Більшість з цих мов є відкритими. Будь-який гідний проект повинен мати свої тестові кейси у зазначеному репо, інакше я був би дуже стурбований.

  • Тести регулярних виразів Python
  • Тести регулярних виразів PHP
  • Тести регулярних виразів Perl виглядають справді обширними
  • Відкриті модульні тести JDK (відкритий код Java)
  • Тести регулярних виразів Рубі
  • Тести регулярних виразів Mono (версія з відкритим вихідним кодом .NET)
  • Тести регулярних виразів .NET Core
  • Тести RE2 (механізм регулярних виразів C ++, розроблений в Google)
  • Набір тестів C (розроблений AT&T Research)
  • Тести регулярних виразів PCRE (бібліотека, сумісна з Perl Regular Expressions C)
  • Тести регулярних виразів JavaScript (набір сумісності Технічного комітету Ecma 39)

Я також знайшов обширну діаграму на цій сторінці, яка може вам допомогти.


1
OpenJDK - це Java, а не її смак. (Офіційний JDK заснований на розробці в OpenJDK, з додаванням деяких кодів із закритим кодом, тому збірки можуть бути не на 100% сумісними, але механізм регулярних
виразів

6
Неправильно, що .NET є закритим кодом. Джерела доступні на веб-сайті referenceource.microsoft.com/netframework.aspx . Ви повинні копати звідти, щоб знайти конкретні деталі, хоча.
Moshe Katz,

11

Щоб мати повний список на одній сторінці, я знайшов ті, що пропущені у прийнятій відповіді:

  • Тести регулярних виразів Mono (це версія .net з відкритим кодом)
  • Тести регулярних виразів PHP

6
Mono - це версія .Net з відкритим кодом. У ньому є компілятори для C # та F #, НЕ VB.Net. В особистій замітці VB.Net - мерзота.
aboy021,

Оновлена ​​відповідь, щоб відобразити ваш коментар.
Sergiu Toarca

@SergiuToarca, чому б не відредагувати прийняту відповідь і не додати їх туди, щоб у нас був повний список в одній відповіді?
Мартін Ендер,

1
Оскільки бальна система SO сильно стимулює мене додати власну відповідь: P Однак прийняту відповідь я відредагував.
Sergiu Toarca

1

Додаткові тестові набори регулярних виразів для додаткових мов:

Бонус

  • Regfuzz (набір інструментів C для перевірки стійкості регулярних виразів із використанням випадково сформованих та недійсних регулярних виразів)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.