2010-01-12 4 views

답변

10

대신 Boost.Regex는 도트 일치 뉴 라인을 만들 수있는 mod_s 플래그를 가지고 있지만, 그것은 TR1 정규식 표준의 일부가 아닌 : 그것은이 같은 것을 보인다. (볼 수있는 한 Microsoft 내선 번호로는 사용할 수 없음)

해결 방법으로 [\s\S] (공백 또는 공백이 아닌 모든 문자를 의미)을 사용할 수 있습니다.

5

사람들이 사용하는 속임수 중 하나는 null 문자가 아닌 문자 클래스입니다. 널 문자는 16 진수로 표시됩니다.

[^\x00]+ 
7

C++ 정규 표현식이 ECMAScript 정규 표현식을 기반으로하는 것처럼 보일 때 JavaScript에서와 동일한 것에 대해 answer to the recent question이 도움이 될 수 있습니다.

[^]이 효과적 일 수 있지만 좀 더 명확하고 덜 해킹하기를 원하는 경우 (.|\n)을 사용해보세요.

1

정규식이 아닌 ECMA 형식으로 바꿀 수 있습니다 (regext flavor를 제어하기위한 여러 가지 플래그가 있음). 어떤 POSIX 정규 표현식이라도 정확하게 기억한다면, 개행을 .과 일치시켜야합니다.

관련 문제