Close

정규형 예제

IEEE POSIX 표준에는 BRE(기본 정규식), [27] ERE(확장 정규식) 및 SRE(간단한 정규식)의 세 가지 규정 준수 집합이 있습니다. SRE는 더 이상 사용되지 않습니다[28] BRE에 찬성, 둘 다 이전 버전과의 호환성을 제공으로. 문자 클래스를 다루는 아래 하위 섹션은 BRE와 ERE 모두에 적용됩니다. 설명과 예제를 가리키고 소량의 자바스크립트를 참조하는 정규식의 일부를 볼 수 있는 이 페이지의 기능을 만들려면. 코드를 보려면 마우스 오른쪽 버튼으로 클릭하고 `소스 보기`를 클릭하여 볼 수 있습니다. 관련 섹션에 ID를 설정한 다음 Javascript는 정규식을 사용하여 관련 데이터를 추출하고 해당 콘텐츠를 식별하여 강조 표시합니다. 예를 들어 eg1trigger3으로 식별 된 항목이 있습니다. 이 위에 마우스를 가져가면 정규식은 다음과 같이 예제 번호(1) 및 트리거 번호(3)를 추출하는 데 사용됩니다. 그러나 컴팩트함에는 큰 차이가 있습니다. 정규 언어의 일부 클래스는 가장 짧은 동등한 정규 식의 크기로 크기가 기하급수적으로 증가하는 결정적인 유한 자동 자동 에 의해서만 설명 될 수 있습니다. 여기서 표준 예는 알파벳 {a,b}를 통해 모든 문자열로 구성된 언어 Lk이며, 마지막 문자는 a와 같습니다. 한편, L4를 설명하는 정규식은 (aa b) a (aa b) (aa b) (amid b){{{*}a(amid b)(amid b)(amid b)}에 의해 주어집니다. POSIX 확장 정규 표현식(ERE) 구문의 일부 문자에 대해 백슬래시로 이스케이프된 메타 문자의 의미가 반전됩니다.

이 구문을 사용하면 백슬래시로 인해 메타문자가 리터럴 문자로 처리됩니다. 예를 들어, ()는 이제 () 및 { } {}입니다. 또한 n 백레퍼런스에 대한 지원이 제거되고 다음 메타 문자가 추가됩니다: 1980년대에 는 1980년대에 더 복잡한 정규기가 Perl에서 발생했으며, 이는 원래 헨리 스펜서(1986)가 작성한 정규식 라이브러리에서 파생되었습니다. Tcl.[12] Tcl 라이브러리에 대한 고급 정규 표현식 구현은 향상된 성능 특성을 가진 하이브리드 NFA/DFA 구현입니다. 스펜서의 Tcl 정규 표현식 구현을 채택 한 소프트웨어 프로젝트는 PostgreSQL을 포함한다. [13] 펄은 나중에 많은 새로운 기능을 추가하기 위해 스펜서의 원래 라이브러리에 확장,[14] 하지만 아직 성능이나 유니 코드 처리의 측면에서 스펜서의 고급 정규 식 구현을 따라 잡지 못했다. [15] [16] 펄 6의 디자인 노력의 일부는 펄의 정규식 통합을 개선하고, 표현 문법구문 구문 분석의 정의를 허용하는 범위와 기능을 증가하는 것입니다. [17] 결과는 펄 6 문법을 정의할 뿐만 아니라 언어프로그래머에게 도구를 제공하는 데 사용되는 펄 6 규칙이라는 미니 언어입니다.