여러 언어로 된 정규식에 대한 단위 테스트는 어디에서 찾을 수 있습니까?


78

http://www.debuggex.com 에서 정규식 도우미를 만들고 있습니다. 내가 보여주고 싶은 디테일의 양은 나만의 파서와 매처를 작성해야합니다.

내 파서와 매 처가 올바르게 작동하는지 확인하기 위해 정규식의 Javascript 풍미에 대한 고유 한 단위 테스트를 작성했지만 여기에는 내가 아는 가장자리 사례 만 포함됩니다. 표준 테스트 스위트를 사용하고 싶은데 최근에 http://hg.ecmascript.org/tests/test262/summary를 가리키고 있습니다.

내 질문은 다른 정규식 버전에 대한 이러한 테스트 스위트를 어디에서 찾을 수 있습니까? 앞으로도 다른 맛을 지원하고 싶습니다. 인터넷 검색으로 아무것도 찾을 수 없었습니다 ( "test"는 정규식 테스터로 결과를 오염시킵니다). python , php , perl , java , ruby.net 언어에 대한 테스트 스위트를 찾고 있습니다 .


12
멋진 프로젝트! 우선 Python에는 모듈에 대한 단위 테스트가re 있습니다.
voithos

2
debuggex에서 잘하셨습니다! 훌륭합니다!
Mchl 2013-04-04

1
정말 멋지고 훌륭합니다.
Frambot 2013

regexbuddy 는 좋은 도구입니다!
Stphane 2013

정규식의 JS 풍미를 위해 만든 단위 테스트를 공유 할 수 있습니까?
Kaustubh Karkare

답변:


54

이러한 언어의 대부분은 오픈 소스입니다. 괜찮은 프로젝트라면 해당 저장소에 테스트 케이스가 있어야합니다. 그렇지 않으면 꽤 걱정이 될 것입니다.

  • 파이썬 의 정규식 테스트
  • PHP 의 정규식 테스트
  • Perl 의 정규식 테스트는 정말 광범위 해 보입니다.
  • 오픈 JDK 의 단위 테스트 (자바의 오픈 소스 버전)
  • Ruby 의 정규식 테스트
  • Mono 의 정규식 테스트 (.NET의 오픈 소스 버전)
  • .NET Core 의 정규식 테스트
  • RE2 의 테스트 (Google에서 개발 한 C ++ 정규식 엔진)
  • C 테스트 스위트 (AT & T Research에서 개발)
  • PCRE 정규식 테스트 (Perl 호환 정규식 C 라이브러리)
  • JavaScript 정규식 테스트 (Ecma Technical Committee 39 호환성 제품군)

또한 이 페이지에서 도움이 될만한 광범위한 차트를 찾았습니다 .


1
OpenJDK Java이며 실제로는 그 맛이 아닙니다. (공식 JDK는 일부 비공개 소스 코드가 추가 된 OpenJDK 개발을 기반으로하므로 빌드가 100 % 호환되지 않을 수 있지만 정규식 엔진은 둘 다에서 동일해야합니다.)
millimoose 2013

6
.NET이 비공개 소스라는 사실이 올바르지 않습니다. 소스는 referencesource.microsoft.com/netframework.aspx 에서 사용할 수 있습니다 . 그래도 특정 부분을 찾으려면 거기에서 파헤쳐 야합니다.
Moshe Katz 2013

11

한 페이지에 전체 목록을 표시하기 위해 수락 된 답변에서 생략 된 목록을 찾았습니다.

  • Mono의 정규식 테스트 (.net의 오픈 소스 버전)
  • PHP의 정규식 테스트

6
Mono는 .Net의 오픈 소스 버전입니다. VB.Net이 아닌 C # 및 F # 용 컴파일러가 있습니다. 개인적인 메모에서 VB.Net은 혐오스러운 것입니다.
aboy021 2013-04-09

귀하의 의견을 반영하도록 답변을 업데이트했습니다.
Sergiu Toarca 2013

@SergiuToarca 수락 된 답변을 편집하고 거기에 추가하면 하나의 답변에 전체 목록이있을 수 있습니다.
Martin Ender 2013

1
SO의 포인트 시스템은 내 자신의 답변을 추가하도록 강력하게 장려하기 때문에 : P 그러나 수락 된 답변을 편집했습니다.
Sergiu Toarca 2013

1

추가 언어에 대한 추가 정규식 테스트 모음 :

보너스

  • Regfuzz (임의로 생성 된 유효하지 않은 정규식을 사용하여 정규식 견고성을 테스트하기위한 C 툴킷)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.