2012-06-22 2 views
0

PHP의 PCRE에서 오류가 발견되었지만 버그 보고서를 게시하기 전에 동일한 오류가 있는지 확인하기 위해 Windows에서 명령 줄을 통해 동일한 식을 테스트하려고합니다. 오류가 PCRE 자체에있는 경우 PCRE 사이트 또는 PHP 사이트에 보고서를 게시해야합니다. 이미 설치 한 라이브러리를 사용하여 Windows 명령 줄에서 PCRE를 직접 실행할 수있는 도구가 있습니까?PCRE Windows 명령 줄

+0

아니요. pcre는 단지 라이브러리 일 뿐이며 '프론트 엔드'가 없습니다. 그것은 PHP의 일입니다. –

+0

@MarcB 내가 묻는 것은 내가 다운로드 할 수있는 PCRE 라이브러리를 사용하는 '프론트 엔드'를 작성한 사람이 있습니까? pcretest를 찾았지만 직접 컴파일해야하고 C++ 컴파일러가 없기 때문에 그렇게 할 수 없습니다. –

답변

0

정규식을 테스트하려면 Perl 스크립트와 Perl 인터프리터를 사용해야합니다. Windows에서는 Cygwin을 설치하는 것이 좋으며 (Perl은 Perl 인터프리터의 경우 setup.exe에서 선택할 수 있습니다). 또는 약간 더 슬림 한 설치를 원할 경우 StrawberryPerl을 사용하십시오. http://strawberryperl.com/

Windows 명령 프롬프트가 오류를 피하기 쉽기 때문에 명령 줄 테스트를 사용하지 않는 것이 좋습니다.

당신이

+0

그러면 PCRE가 아닌 Perl의 정규 표현식 라이브러리를 사용하지 않을까요? 버그가 PCRE 또는 PHP에 있는지 확인하려고합니다. –

+0

... 또한 언급 한 Perl PCRE 라이브러리는 꽤 오래된 것 같습니다 –

+0

제가 링크 된 라이브러리는 2011 년에 마지막으로 업데이트되었습니다. 위의 라이브러리를 사용했다면 Perl의 정규 라이브러리와 반대되는 PCRE를 사용하게 될 것입니다. –

0

잘 테스트 합법적하기 위해 http://metacpan.org/pod/re::engine::PCRE를 사용해야합니다 유의하시기 바랍니다, 어쨌든 내 추측을 기반으로 PHP에 버그를 게시 (그것은 PHP 또는 PCRE 버그?) 일부 좋은 사람이 pcretest와 문제가있는 정규 표현식을 실행하고 그것이 예상대로 행동한다는 것을 발견했다 (즉, 적절한 오류를 준다). 따라서 PHP에서 버그가 발생했습니다! 정규식 (당신이 궁금해하는 경우)은 /\k/입니다. 명명 된 역 참조 (http://www.php.net/manual/en/regexp.reference.back-references.php)가 따라야하므로 유효하지 않지만 PHP 5.4.4에서는 컴파일 및 실행이 가능합니다.

명령 줄에서 PCRE를 실행할 수 없습니다 (사전 컴파일 된 Windows 바이너리 사용자는 누구입니까?)