http://www.debuggex.com 에서 정규식 도우미를 만들고 있습니다. 내가 보여주고 싶은 디테일의 양은 나만의 파서와 매처를 작성해야합니다.
내 파서와 매 처가 올바르게 작동하는지 확인하기 위해 정규식의 Javascript 풍미에 대한 고유 한 단위 테스트를 작성했지만 여기에는 내가 아는 가장자리 사례 만 포함됩니다. 표준 테스트 스위트를 사용하고 싶은데 최근에 http://hg.ecmascript.org/tests/test262/summary를 가리키고 있습니다.
내 질문은 다른 정규식 버전에 대한 이러한 테스트 스위트를 어디에서 찾을 수 있습니까? 앞으로도 다른 맛을 지원하고 싶습니다. 인터넷 검색으로 아무것도 찾을 수 없었습니다 ( “test”는 정규식 테스터로 결과를 오염시킵니다). python , php , perl , java , ruby 및 .net 언어에 대한 테스트 스위트를 찾고 있습니다 .
답변
이러한 언어의 대부분은 오픈 소스입니다. 괜찮은 프로젝트라면 해당 저장소에 테스트 케이스가 있어야합니다. 그렇지 않으면 꽤 걱정이 될 것입니다.
- 파이썬 의 정규식 테스트
- PHP 의 정규식 테스트
- Perl 의 정규식 테스트는 정말 광범위 해 보입니다.
- 오픈 JDK 의 단위 테스트 (자바의 오픈 소스 버전)
- Ruby 의 정규식 테스트
- Mono 의 정규식 테스트 (.NET의 오픈 소스 버전)
- .NET Core 의 정규식 테스트
- RE2 의 테스트 (Google에서 개발 한 C ++ 정규식 엔진)
- C 테스트 스위트 (AT & T Research에서 개발)
- PCRE 정규식 테스트 (Perl 호환 정규식 C 라이브러리)
- JavaScript 정규식 테스트 (Ecma Technical Committee 39 호환성 제품군)
또한 이 페이지에서 도움이 될만한 광범위한 차트를 찾았습니다 .
답변
답변
추가 언어에 대한 추가 정규식 테스트 모음 :
- D의 표준 라이브러리 정규식 테스트 (
tests.*d
파일 찾기 ) - Go의 정규식 테스트 (
.*test.*go
파일 찾기 ) - GNU grep의 테스트 (명령 줄 C 정규식 엔진)
- regex-posix-unittest (하스켈로 작성된 POSIX 정규식 테스트 스위트)
- ICU의 정규식 테스트 (유니 코드 용 C / C ++ 및 Java 라이브러리,라는 파일 찾기
re[_g].*txt
) - Rust의 정규식 테스트
- TCL의 정규식 테스트 (
reg.*test
파일 찾기 ) - TRE의 정규식 테스트 (엄격한 POSIX 준수를 목표로하는 C 정규식 엔진)
- V8의 정규식 테스트 (V8은 Chrome의 JavaScript 엔진이며라는 파일 검색
.*regexp.*js
) - WebKit의 정규식 테스트 (JavaScript 테스트는 script-tests 폴더에 있음)
- Yarr의 정규식 테스트 (WebKit의 JavaScriptCore의 C ++ 정규식 엔진)
보너스
- Regfuzz (임의로 생성 된 유효하지 않은 정규식을 사용하여 정규식 견고성을 테스트하기위한 C 툴킷)