2014-09-22 2 views
0

PCRE을 사용하여 정규 표현식과 일치 시키려고합니다. 그러나 어떤 경우에는 "스트리밍"일치를 원합니다. look-behind 어설 션과 같은 문제로 인해 일치하는 부분을 버리고 나머지 부분과 일치시킬 수는 없습니다. 그것들을 모두 저장하지 않고 바이트 스트림을 정확하게 일치시키는 함수 또는 알고리즘이 있습니까?PCRE를 사용하여 바이트 스트림을 일치시키는 방법

답변

0

바이트 스트림을 모두 저장하지 않고 올바르게 일치시키는 함수 또는 알고리즘이 있습니까?

일반적으로 언급 한 이유는 없습니다. 그러나 어떤 경우에는 그렇습니다.

나는 PCRE로 그렇게 할 수 있다고 생각하지 않습니다.

Boost.Regexpartial match을 사용할 수 있습니다.

Can you use Boost.Regex to parse a stream?

+0

PCRE뿐만 아니라 부분적으로 일치를 가지고 참조하십시오. 하지만 부분 일치를 사용하여 스트림 일치를 수행하는 방법을 잘 모르겠습니다. 그것은 또한 많은 함정을 가지고있는 것으로 보인다. URL에서'abc | b'는 항상'b'에 대해서만 부분 일치를 생성합니다. 그러나'b'가 스트림의 끝에 있다면, 그것은 완전 일치해야합니다. 이는 전체를 버퍼에로드하고 전체 일치를 수행하는 것과는 다릅니다. –

관련 문제