플랫폼 독립적 또는 Windows 특정 네이티브 C++ 용 강력하고 사용하기 쉬운 정규식 평가기를 찾고 있습니다.C++에서 사용하기 쉬운 정규식 지원?
요구 사항 :
이 가 부스트 또는 (불행하게도) ACE 정규식 라이브러리주요 요구 사항은
-
그것은 독립적이고 열려 있어야합니다. 당신은 그들이 작동합니다 윈도우 포트가 창문에 붙어있는 경우
플랫폼 독립적 또는 Windows 특정 네이티브 C++ 용 강력하고 사용하기 쉬운 정규식 평가기를 찾고 있습니다.C++에서 사용하기 쉬운 정규식 지원?
요구 사항 :
이 가 부스트 또는 (불행하게도) ACE 정규식 라이브러리주요 요구 사항은
C++ (11)는 이제 정규 표현식의 지원이 포함되어 있습니다. 플랫폼에 독립적 일 것입니다. 최근 컴파일러가 필요합니다. 사용할 목록을 확인하려면 다음 목록을 확인하십시오.
http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport
는
는 libpcre
을 시도합니다. 나는 e-texteditor이 그것을 사용한다는 것을 알고 있으므로 적어도 그것이 작동한다는 것을 증명한다 :-)
GNU C 라이브러리는 regular expressions을 지원한다. 그것은 열려 있고 RE 코드는 쉽게 추출 할 수있는 것 같습니다.
GNU C 라이브러리의 정규 표현식 기능 (regcomp(), regexec() 및 friends)이 손상되었습니다. 대신 libetre를 사용하십시오. 함수 서명은 glibc가 제공 한 것과 일치합니다. http://laurikari.net/tre/
Visual Studio를 사용하는 경우 Visual C++ 2008 Feature Pack Release를 사용할 수 있습니다.이 도구는 TR1 중 일부를 구현하며 정규식 파싱을 포함합니다. Get it
Qt도 Regular Expression 구현 QRegExp입니다. 또한 플랫폼 독립적입니다.
왜 Microsoft ATL의 정규식 라이브러리를 사용하지 않습니까? Kenny Kerr은 최근에 short article을 작성했습니다. 희망이 도움이됩니다.
PCRE의 추천 번호는 두 번째입니다. Windows의 C++ 프로젝트에서 사용했는데 잘 작동합니다. 상업용 소프트웨어를 구축하는 경우에도 무료입니다. 또한 사실 표준 정규 표현식 언어를 구현하여 사용자에게 환영받을 것입니다. PCRE는 물론 Perl과 호환되며 Python도 동일한 라이브러리를 사용합니다.
네이티브 PCRE 인터페이스는 다소 어색하고 C 스타일이기 때문에 멋진 C++ 래퍼를 작성할 가치가 있습니다. 거기에 이미 하나 밖에없는 것 같지만, 나는 익숙하지 않습니다.
Codeplex의 무료 ATL 서버 라이브러리에는 정규식 파서가 포함되어 있습니다.
C++ (11)을하는 데 도움이 앞으로 지금 standard regular expression library이 포함되어 바랍니다.
<regex>
헤더를 포함하여 사용하십시오.
호기심 - 왜 부스트를 사용할 수 없습니까? – svec
@svec 소스 코드는 배포 용이며 Boost를 사용하는 많은 사람들은 Boost가 없기 때문에 Boost를 다운로드하고 빌드 할 수 없거나 만들지 않을 수 있습니다. 그러나 일부 도서관은 포함되도록 예정되어 있습니다. 5 년 전에 일어 났어야했는데, 어이. 부디. –
그러나 클라이언트에 추가 기능을 설치할 필요는 없습니다. 그냥 부스트와 정적으로 연결하면 아무런 문제가 없어야합니다. (클라이언트가 설치되어 있어도 동일한 버전을 가지지 않거나 동일한 옵션으로 컴파일했을 수 있기 때문에 항상 정적으로 링크를 연결해야합니다.) –