2012-08-03 2 views
2

제어되지 않은 역 추적을 일으키는 정규식에서 "핫 스폿"을 찾는 도구 또는 방법에 대해 일반적으로 묻습니다. 내가 소유욕 일치, 부정적인 lookahead 어설 션, 원자력 그룹 등의 꽤 좋은 이해를 가지고 있지만 정확히 어디에 내 정규식이 잘못되었는지 명확하지 않은 상황에 직면하고있어.치명적인 역 추적을 해결하기위한 도구

문제가되는 정규식은 PCRE 정규식입니다. 그러나 나는 어떤 언어에 대한 어떤 포인터에 대해서 행복 할 것이다.

이상적으로는 정규식에서 "핫 스폿"을 강조하는 도구를보고 싶습니다. 나는 과거에 perl -Mre=debug에 대한 래퍼를 만들려고 시도했지만 출력을 유용하게 처리해야하는 방법을 실제로 파악할 수 없었습니다. 모호하게 생각하면 정규식에 대해 하나 이상의 입력 문자열을 실행하고 정규 표현식에서 정규식 (물론 문자열의 오프셋)을 수집하는 것입니다.

답변

6

Damian Conway의 새로운 Regexp::Debugger Perl 용 모듈을 사용하면 문자열과 일치하는 정규 표현식의 애니메이션을 볼 수 있습니다. 과도한 역 추적을 쉽게 파악할 수 있어야합니다. 그냥 그것을 설치하고 그것에 일치하는 정규식과 문자열을 입력 할 수있는 포함 된 rxrx 스크립트를 사용하십시오.

관련 문제