| PostgreSQL 9.3.25 문서 | ||||
|---|---|---|---|---|
| 이전 | PostgreSQL : 문서 : 9.3 : 토토 사이트 추천 및 연산자 | 9장. 기능 및 운영자 | 사설 토토 사이트 : 문서 : 9.3 : 사설 토토 사이트 사설 토토 사이트 서식 함수 | |
패턴 젠 토토에 대한 세 가지 접근 방식이 제공됩니다.
에 의해PostgreSQL: 전통SQL 좋아요연산자, 더 최근의 것유사함연산자(SQL:1999에 추가됨) 및POSIX-스타일 정규식.
기본을 제외하고"이 문자열은 젠 토토합니까?
이 패턴?"연산자, 함수를 추출할 수 있습니다.
또는 젠 토토하는 하위 문자열을 바꾸고 젠 토토 시 문자열을 분할합니다.
위치.
팁:그 이상의 패턴 젠 토토 요구 사항이 있는 경우 Perl이나 Tcl로 사용자 정의 함수를 작성하는 것을 고려해 보세요.
| 주의 |
|
대부분의 정규식 검색은 매우 빠르게 실행될 수 있지만 신속하게 임의의 정규 표현식을 고안할 수 있습니다. 처리할 시간과 메모리의 양. 받아들이는 것을 조심하세요 적대적인 소스의 정규식 검색 패턴. 당신이 그렇게 해야 한다면 명령문 시간 초과를 적용하는 것이 좋습니다. 다음을 사용하여 검색
|
좋아요문자열좋아요패턴 [탈출이스케이프 문자] 문자열좋아하지 않음패턴 [탈출이스케이프 문자]
그좋아요표현식은 true를 반환합니다.
만약에문자열제공된 내용과 젠 토토패턴. (예상대로,좋아하지 않음다음의 경우 표현식이 false를 반환합니다.좋아요은 true를 반환하고 그 반대도 마찬가지입니다. 안
동등한 표현은아님 (문자열좋아요패턴).)
만약패턴포함하지 않음
퍼센트 기호 또는 밑줄이 있는 경우 패턴은
문자열 자체; 그 경우에는좋아요행위
같음 연산자처럼요. 밑줄(_) in패턴스탠드
단일 문자에 대해 (젠 토토); 퍼센트 기호(%)는 0개 이상의 시퀀스와 젠 토토합니다.
문자.
일부 예:
'abc' LIKE 'abc'참'abc' LIKE 'a%'참'abc' LIKE '_b_'참'abc' LIKE 'c'거짓
좋아요항상 젠 토토하는 패턴
전체 문자열을 덮습니다. 따라서 젠 토토를 원하는 경우
문자열 내 임의의 위치에 시퀀스가 있어야 하며 패턴은 시작하고 끝나야 합니다.
퍼센트 기호로 표시됩니다.
젠 토토하지 않고 리터럴 밑줄 또는 백분율 기호를 젠 토토시키려면 다른 문자, 해당 문자패턴앞에 이스케이프 문자가 와야 합니다. 성격. 기본 이스케이프 문자는 백슬래시이지만 다음을 사용하여 다른 것을 선택할 수 있습니다.탈출절. 이스케이프 문자 자체를 젠 토토시키려면 두 개의 이스케이프 문자를 작성합니다.
참고:있다면standard_conforming_strings꺼짐, 리터럴 문자열 상수에 쓰는 모든 백슬래시 두 배로 늘려야 할 것입니다. 보다섹션 4.1.2.1더 많은 정보를 원하시면.
다음을 작성하여 이스케이프 문자를 선택하지 않는 것도 가능합니다이스케이프 ''. 이렇게 하면 효과적으로 비활성화됩니다. 탈출 메커니즘으로 인해 특수 기능을 끌 수 없습니다. 패턴에서 밑줄과 백분율 기호의 의미.
핵심 단어좋아요대신 사용할 수 있습니다좋아요대소문자를 구분하지 않는 젠 토토 항목 만들기 활성 로케일에 따라. 이것은에 없습니다.SQL표준이지만 aPostgreSQL확장.
운영자~~다음과 동일함좋아요및~~*다음에 해당함좋아요. 또한 있습니다!~~그리고!~~*연산자는
대표하다좋아하지 않음그리고닮지 않음입니다. 이들 연산자는 모두
이다포스트그레SQL-특정.
비슷한 것
에게정규 표현식문자열유사함패턴 [탈출이스케이프 문자] 문자열다음과 유사하지 않음패턴 [탈출이스케이프 문자]
그유사함연산자가 반환됩니다.
패턴이 주어진 패턴과 젠 토토하는지 여부에 따라 참 또는 거짓
끈. 와 비슷합니다.좋아요, 제외
SQL 표준의 정의를 사용하여 패턴을 해석합니다.
정규식의. SQL 정규 표현식은 궁금합니다.
사이를 교차좋아요기호 및
일반적인 정규식 표기법입니다.
좋아요좋아요, 그유사함연산자는 패턴이 있는 경우에만 성공합니다.
전체 문자열과 젠 토토합니다. 이것은 일반적인 정규 표현식과 다릅니다
패턴이 문자열의 어떤 부분과도 젠 토토할 수 있는 동작입니다. 또한
좋다좋아요, 유사함사용_그리고%다음을 나타내는 와일드카드 문자로
각각 단일 문자와 임의의 문자열(이것들은 비교 가능함)
에게.그리고.*에
POSIX 정규 표현식).
빌린 시설 외에도좋아요, 유사함POSIX에서 빌린 패턴 젠 토토 메타 문자를 지원합니다.
정규 표현식:
|교대를 나타냅니다(둘 중 하나). 대안).
*이전 내용의 반복을 나타냅니다. 항목이 0회 이상입니다.
+이전 내용의 반복을 나타냅니다. 항목을 한 번 이상 사용하세요.
?이전 내용의 반복을 나타냅니다. 항목이 0번 또는 1번입니다.
{m}표시 이전 항목을 정확히 반복함m회.
{m,}표시 이전 항목의 반복m또는 그 이상.
{m,n}표시 적어도 이전 항목의 반복m최대n회.
괄호()그룹화에 사용할 수 있습니다. 항목을 하나의 논리적 항목으로 만듭니다.
괄호 표현식[...]을 지정합니다 POSIX 정규식과 마찬가지로 문자 클래스입니다.
마침표(.)는
에 대한 메타문자유사함.
다음과 같이좋아요, 백슬래시는 비활성화됩니다.
이러한 메타 문자의 특별한 의미 아니면 다른
이스케이프 문자는로 지정할 수 있습니다.탈출.
일부 예:
'abc'는 'abc'와 유사사실'abc' 'a'와 유사거짓'abc'는 '%(b|d)%'와 유사함사실'abc'는 '(b|c)%'와 유사함거짓
그하위 문자열3개의 함수
매개변수,하위 문자열(문자열부터패턴for이스케이프 문자), 추출 제공
SQL 정규식 패턴과 젠 토토하는 하위 문자열입니다. 처럼
와 함께유사함, 지정된 패턴
전체 데이터 문자열과 젠 토토해야 합니다. 그렇지 않으면 함수가 실패하고
null을 반환합니다. 패턴의 일부를 나타내기 위해
성공 시 반환된 경우 패턴에는 다음 두 번 발생해야 합니다.
이스케이프 문자 뒤에 큰따옴표("). 패턴 부분과 젠 토토하는 텍스트
이 마커 사이가 반환됩니다.
몇 가지 예, 다음과 함께#"구분 반환 문자열:
하위 문자열('#'에 대해 '%#"o_b#"%'의 'foobar'))oob하위 문자열('#'에 대한 '#"o_b#"%'의 'foobar')NULL테이블 9-12다음을 사용하여 패턴 젠 토토에 사용 가능한 연산자를 나열합니다. POSIX 정규식.
표 9-12. 정규식 젠 토토 연산자
| 운영자 | 설명 | 예 |
|---|---|---|
| ~ | 정규 표현식과 젠 토토, 대소문자 구분 | '토마스' ~ '.*토마스.*' |
| ~* | 정규 표현식과 젠 토토, 대소문자를 구분하지 않음 | '토마스' ~* '.*토마스.*' |
| !~ | 정규 표현식과 젠 토토하지 않음, 대소문자 구분 | '토마스' !~ '.*토마스.*' |
| !~* | 정규 표현식과 젠 토토하지 않음, 대소문자를 구분하지 않음 | '토마스' !~* '.*vadim.*' |
POSIX정규 표현식
패턴 젠 토토를 위한 더 강력한 수단을 제공합니다.좋아요그리고유사함연산자. 다음과 같은 많은 Unix 도구이그레프, sed, 또는awk다음과 같은 패턴 젠 토토 언어를 사용하세요.
여기에 설명된 것과 유사합니다.
정규 표현식은 다음과 같은 문자 시퀀스입니다.
문자열 집합의 축약된 정의(a일반 세트). 문자열은 일반 문자열과 젠 토토한다고 합니다.
표현식이 설명하는 정규 집합의 구성원인 경우
정규식. 마찬가지로좋아요,
패턴 문자는 그렇지 않은 경우를 제외하고 문자열 문자와 정확히 젠 토토합니다.
정규식 언어의 특수 문자 - 그러나 일반
표현식은 다음과 다른 특수 문자를 사용합니다.좋아요그렇습니다. 같지 않은좋아요패턴, 정규식은 다음과 같이 허용됩니다.
정규식이 다음과 같은 경우를 제외하고 문자열 내의 어느 위치에서나 젠 토토합니다.
문자열의 시작이나 끝에 명시적으로 고정됩니다.
몇 가지 예:
'abc' ~ 'abc'참'abc' ~ '^a'참'abc' ~ '(b|d)'참'abc' ~ '^(b|c)'거짓
그POSIX패턴 언어는 다음과 같습니다. 아래에 훨씬 더 자세히 설명되어 있습니다.
그하위 문자열두 개의 함수
매개변수,하위 문자열(문자열from패턴), 추출을 제공합니다.
POSIX 정규식 패턴과 젠 토토하는 하위 문자열입니다. 그것
젠 토토하는 항목이 없으면 null을 반환하고, 그렇지 않으면
패턴과 젠 토토하는 텍스트입니다. 하지만 패턴에 어떤 내용이 포함되어 있으면
괄호, 첫 번째 항목과 젠 토토하는 텍스트 부분
괄호로 묶인 하위 표현(왼쪽 괄호가 오는 것)
첫째)이 반환됩니다. 전체에 괄호를 넣을 수 있습니다.
표현식 안에 괄호를 사용하려는 경우
이 예외를 트리거합니다. 패턴에 괄호가 필요한 경우
추출하려는 하위 표현식 앞에는 비캡처를 참조하세요.
아래에 괄호가 설명되어 있습니다.
일부 예:
하위 문자열('o.b'의 'foobar')oobsubstring('o(.)b'의 'foobar')o
그regexp_replace함수
POSIX와 젠 토토하는 하위 문자열을 새 텍스트로 대체합니다.
정규식 패턴. 구문은 다음과 같습니다.regexp_replace(출처, 패턴, 교체 [,
플래그]). 그만큼출처문자열은 다음과 같은 경우 변경되지 않고 반환됩니다.
은(는) 젠 토토하지 않습니다.패턴. 만약에
젠 토토하는 항목이 있습니다.출처문자열
는와 함께 반환됩니다.교체문자열이 젠 토토하는 하위 문자열로 대체되었습니다. 그만큼교체문자열은 다음을 포함할 수 있음\n, 여기서n는 1부터 9까지이며 소스가
와 젠 토토하는 하위 문자열n번째
패턴의 괄호 안에 있는 하위 표현식을 삽입해야 합니다.
다음을 포함할 수 있습니다.\&다음을 나타냅니다.
전체 패턴과 젠 토토하는 하위 문자열을 삽입해야 합니다. 쓰다\\문자 그대로 백슬래시를 넣어야 하는 경우
대체 텍스트에서. 그만큼플래그매개변수는 0개 이상을 포함하는 선택적 텍스트 문자열입니다.
함수의 동작을 변경하는 단일 문자 플래그입니다. 깃발i대소문자를 구분하지 않는 젠 토토를 지정합니다.
동안 플래그g각각의 교체를 지정합니다.
첫 번째 문자열만 젠 토토하는 것이 아니라 하위 문자열과 젠 토토합니다. 기타 지원
플래그는 다음에 설명되어 있습니다.테이블
9-20.
일부 예:
regexp_replace('foobarbaz', 'b..', 'X')fooXbazregexp_replace('foobarbaz', 'b..', 'X', 'g')fooXXregexp_replace('foobarbaz', 'b(..)', 'X\1Y', 'g')fooXarYXazY
그regexp_matches함수
캡처된 모든 하위 문자열의 텍스트 배열을 반환합니다.
POSIX 정규식 패턴 젠 토토에서. 구문은 다음과 같습니다.regexp_matches(문자열, 패턴 [, 플래그]). 이 함수는 아니요를 반환할 수 있습니다.
행, 한 행 또는 여러 행(참조g아래 플래그). 만약패턴그렇습니다
젠 토토하지 않으면 함수는 행을 반환하지 않습니다. 패턴에 아무 것도 포함되어 있지 않은 경우
괄호로 묶인 하위 표현식의 경우 반환된 각 행은
젠 토토하는 하위 문자열을 포함하는 단일 요소 텍스트 배열
전체 패턴. 패턴에 괄호 안에 포함된 내용이 있는 경우
하위 표현식을 사용하면 함수는 다음과 같은 텍스트 배열을 반환합니다.n'번째 요소는와 젠 토토하는 하위 문자열입니다.n'번째 괄호로 묶인 하위 표현식
패턴(세지 않음)"비캡처"괄호; 자세한 내용은 아래를 참조하세요).
그만큼플래그매개변수는 선택사항입니다.
변경되는 0개 이상의 단일 문자 플래그를 포함하는 텍스트 문자열
함수의 동작. 깃발g이유는
문자열에서 첫 번째 젠 토토 항목뿐만 아니라 각 젠 토토 항목을 찾는 함수입니다.
젠 토토하는 각 항목에 대해 행을 반환합니다. 기타 지원되는 플래그는 다음과 같습니다.
설명됨테이블
9-20.
일부 예:
SELECT regexp_matches('foobarbequebaz', '(bar)(beque)');
정규 표현식_젠 토토
----------------
바,베크
강제하는 것이 가능합니다regexp_matches()항상 한 행을 반환하려면
하위 선택 사용; 이는 특히 다음과 같은 경우에 유용합니다.선택모든 행을 반환하려는 경우 대상 목록,
심지어 젠 토토하지 않는 것들도:
SELECT col1, (SELECT regexp_matches(col2, '(bar)(beque)')) FROM 탭;
그regexp_split_to_table함수
POSIX 정규식 패턴을 사용하여 문자열을 분할합니다.
구분 기호. 구문은 다음과 같습니다.regexp_split_to_table(문자열, 패턴 [, 플래그]). 와 젠 토토하는 항목이 없는 경우패턴, 함수는를 반환합니다.문자열. 적어도 하나가 있다면
젠 토토, 각 젠 토토에 대해 마지막 끝의 텍스트를 반환합니다.
(또는 문자열의 시작 부분)을 문자열의 시작 부분과 젠 토토시킵니다.
성냥. 더 이상 젠 토토하는 항목이 없으면 다음의 텍스트를 반환합니다.
마지막 젠 토토의 끝에서 문자열 끝까지. 그만큼플래그매개변수는 선택적 텍스트 문자열입니다.
0개 이상의 단일 문자 플래그를 포함하여
함수의 동작.regexp_split_to_table플래그를 지원합니다
설명됨테이블
9-20.
그regexp_split_to_array함수
와 동일하게 동작합니다regexp_split_to_table, 그 외에는regexp_split_to_array결과를 다음과 같이 반환합니다.
배열텍스트. 구문은 다음과 같습니다.regexp_split_to_array(문자열, 패턴 [, 플래그]). 매개변수는 동일합니다.
에 관해서는regexp_split_to_table.
몇 가지 예:
SELECT foo FROM regexp_split_to_table('빠른 갈색 여우가 게으른 개 위로 점프합니다', '\s+') AS foo;
푸
-------
그만큼
빠른
갈색
여우
점프
~ 위에
그만큼
게으른
개
(9열)
SELECT regexp_split_to_array('빠른 갈색 여우가 게으른 개 위로 뛰어오르다', '\s+');
regexp_split_to_array
----------------------------------
the,quick,brown,fox,jumps,over,the,lazy,dog
마지막 예에서 볼 수 있듯이 정규식 분할 함수는
시작이나 끝에서 발생하는 길이가 0인 젠 토토를 무시합니다.
문자열 또는 이전 젠 토토 항목 직후. 이것은 반대이다
다음으로 구현되는 정규식 젠 토토의 엄격한 정의regexp_matches, 하지만 일반적으로
실제로 가장 편리한 동작. 다음과 같은 기타 소프트웨어 시스템
Perl은 비슷한 정의를 사용합니다.
포스트그레SQL의 정규병 표현식은 다음이 작성한 소프트웨어 패키지를 사용하여 구현됩니다. 헨리 스펜서. 아래의 정규 표현식에 대한 대부분의 설명 그의 매뉴얼에서 그대로 복사되었습니다.
정규식 (REs), 에서 정의됨POSIX1003.2, 들어와 두 가지 형태:확장 REs 또는EREs (대략적으로)이그레프) 및기본 REs 또는BREs (대략ed). PostgreSQL두 가지 형식을 모두 지원하며 또한 POSIX 표준에 없는 일부 확장을 구현하지만 프로그래밍이 가능하기 때문에 널리 사용되었습니다. Perl 및 Tcl과 같은 언어RE이 POSIX가 아닌 확장을 사용하는 것이 호출됩니다.고급 REs 또는AREs 이 문서에서. ARE는 ERE의 거의 정확한 상위 집합입니다. 그러나 BRE에는 몇 가지 표기법상 비호환성이 있습니다. 훨씬 더 제한적입니다.) 먼저 ARE 및 ERE 형식을 설명합니다. ARE에만 적용되는 기능을 언급하고 BRE가 어떻게 작동하는지 설명합니다. 다르다.
참고: 포스트그레SQL항상 처음에는 정규식이 ARE 규칙을 따른다고 가정합니다. 그러나 더 제한된 ERE 또는 BRE 규칙은 다음을 통해 선택할 수 있습니다. 앞에 를 추가함내장 옵션RE로 패턴(설명됨)섹션 9.7.3.4. 이는 다음을 기대하는 응용 프로그램과의 호환성에 유용할 수 있습니다. 정확히는POSIX1003.2 규칙.
정규 표현식은 하나 이상으로 정의됩니다.분기, 구분|. 브랜치 중 하나와 젠 토토하는 모든 항목과 젠 토토합니다.
분기가 0개 이상입니다.정량화됨 원자또는제약조건, 연결되었습니다. 그것 첫 번째 젠 토토 항목과 젠 토토하고 두 번째 젠 토토 항목이 뒤따릅니다. 등; 빈 분기는 빈 문자열과 젠 토토합니다.
정량화된 원자는원자아마도 그 뒤에 단일수량자. 없이 수량자, 원자와 젠 토토하는 항목과 젠 토토합니다. 수량자를 사용하면 원자의 일부 젠 토토 항목과 젠 토토할 수 있습니다. 안원자다음에 표시된 가능성 중 하나일 수 있습니다.표 9-13. 가능한 수량자와 그 의미는 다음과 같습니다.테이블 9-14.
A 제약빈 문자열과 젠 토토합니다. 하지만 특정 조건이 충족되는 경우에만 젠 토토합니다. 제약 조건은 다음과 같습니다. 따라갈 수 없는 경우를 제외하고 원자를 사용할 수 있는 곳에 사용됩니다. 수량자로. 간단한 제약 조건은 다음과 같습니다.표 9-15; 몇 가지 추가 제약 조건은 나중에 설명됩니다.
표 9-13. 정규식 원자
| 아톰 | 설명 |
|---|---|
| (레) | (어디에서다시모든 일반 표현식)은 다음과 젠 토토합니다.다시, 가능한 보고를 위해 젠 토토 항목이 언급됨 |
| (?:다시) | 위와 같지만 젠 토토 항목은 보고용으로 기록되지 않습니다. (a"비캡처"괄호 세트) (ARE에만 해당) |
| . | 모든 단일 문자와 젠 토토 |
| [문자] | a 괄호 표현식, 임의 항목과 젠 토토 의문자(참조섹션 9.7.3.2자세한 내용은) |
| \k | (어디에서k영숫자가 아닙니다. 문자)는 일반 문자로 간주되는 해당 문자와 젠 토토합니다. 예를 들어,\\백슬래시와 젠 토토 성격 |
| \c | 어디에서c영숫자임 (다른 문자가 뒤따를 수도 있음)은탈출, 참조섹션 9.7.3.3(ARE 전용; ERE 및 BRE에서는 젠 토토함c) |
| { | 뒤에 숫자 이외의 문자가 오면 다음과 젠 토토합니다. 왼쪽 중괄호 문자{; 다음에 a가 올 때 숫자, 그것은 a의 시작입니다바운드(아래 참조) |
| x | 어디에서x단일 문자입니다. 다른 의미 없이 해당 문자와 젠 토토합니다. |
RE는 백슬래시로 끝날 수 없습니다(\).
참고:있다면standard_conforming_strings꺼짐, 리터럴 문자열 상수에 쓰는 모든 백슬래시 두 배로 늘려야 할 것입니다. 보다섹션 4.1.2.1더 많은 정보를 원하시면.
표 9-14. 정규식 수량자
| 수량자 | 젠 토토 |
|---|---|
| * | 원자와 젠 토토하는 0개 이상의 시퀀스 |
| + | 1개 이상의 원자 젠 토토 시퀀스 |
| ? | 원자와 젠 토토하는 0 또는 1개의 시퀀스 |
| {m} | 정확히 일련의m젠 토토 원자의 |
| {m,} | 일련의m또는 그 이상 젠 토토 원자의 |
| {m,n} | 일련의m통해n(포함) 원자 젠 토토;m초과할 수 없습니다n |
| *? | 탐욕스럽지 않은 버전* |
| +? | 탐욕스럽지 않은 버전+ |
| ?? | 탐욕스럽지 않은 버전? |
| {m}? | 탐욕스럽지 않은 버전{m} |
| {m,}? | 탐욕스럽지 않은 버전{m,} |
| {m,n}? | 탐욕스럽지 않은 버전{m,n} |
다음을 사용하는 양식{...}다음으로 알려져 있습니다경계. 숫자m그리고n범위 내에는 허용되는 부호 없는 십진 정수가 있습니다. 0부터 255까지의 값입니다.
욕심없음수량자(다음에서 사용 가능) ARE만) 해당하는 것과 동일한 가능성과 젠 토토합니다. 정상 (탐욕스러운) 대응하지만 선호합니다. 가장 큰 젠 토토 항목 수가 아닌 가장 작은 숫자입니다. 보다섹션 9.7.3.5자세한 내용은.
참고:한 수량자는 다른 수량자 바로 뒤에 올 수 없습니다. 수량자(예:**잘못되었습니다. 에이 수량자는 표현식이나 하위 표현식을 시작하거나 따를 수 없습니다.^또는|.
표 9-15. 정규식 제약 조건
| 제약 | 설명 |
|---|---|
| ^ | 문자열의 시작 부분과 젠 토토 |
| $ | 문자열 끝에서 젠 토토 |
| (?=레) | 긍정적인 예측언제든지 젠 토토 하위 문자열이 젠 토토하는 지점다시시작(ARE에만 해당) |
| (?!다시) | 부정적 예측언제든지 젠 토토 하위 문자열이 젠 토토하지 않는 지점다시시작(ARE에만 해당) |
예측 제약 조건은 다음을 포함할 수 없습니다.뒤로 참고자료(참조섹션 9.7.3.3), 그 안의 모든 괄호가 고려됩니다. 비캡처.
A 괄호 표현식다음 목록입니다. 안에 포함된 문자[]. 그것은 일반적으로 목록의 단일 문자와 젠 토토합니다(아래 참조). 만약 목록은 다음으로 시작됩니다.^, 임의의 단일 항목과 젠 토토합니다. 성격아님에서 목록의 나머지 부분. 목록의 두 문자가로 구분된 경우-, 이는 전체 범위에 대한 약어입니다. 조합 순서에서 두 문자(포함) 사이의 문자, 예를 들어,[0-9]에ASCII모든 십진수와 젠 토토합니다. 불법입니다 두 범위가 끝점을 공유하는 경우, 예:a-c-e. 범위는 조합 순서에 따라 크게 달라집니다. 따라서 이식 가능한 프로그램은 이에 의존하지 않아야 합니다.
리터럴을 포함하려면]목록에서, 첫 번째 문자로 만듭니다(이후^, 만약 사용되는 것입니다). 리터럴을 포함하려면-, 첫 번째 또는 마지막 문자로 만들거나 두 번째 끝점으로 만듭니다. 범위. 리터럴을 사용하려면-처음으로 범위의 끝점은 범위로 묶습니다.[.그리고.]그것을 조합 요소로 만듭니다(참조 아래에). 이 문자를 제외하고 일부 조합은 사용 중[(다음 단락 참조) 및 이스케이프 (ARE에만 해당) 다른 모든 특수 문자는 해당 특수 문자를 잃습니다. 대괄호 표현식 내의 중요성. 특히,\ERE 또는 BRE 규칙을 따를 때 특별하지 않습니다. ARE에서는 (이스케이프를 도입하는 등) 특별합니다.
괄호 표현식 내에서 대조 요소(문자, 단일 문자인 것처럼 조합되는 다중 문자 시퀀스 문자 또는 조합 순서 이름 중 하나)를로 묶습니다.[.그리고.]스탠드 해당 조합 요소의 문자 시퀀스에 대해. 그만큼 시퀀스는 대괄호 표현식의 단일 요소로 처리됩니다. 목록. 이를 통해 다음을 포함하는 대괄호 표현식이 허용됩니다. 둘 이상의 문자를 젠 토토시키는 다중 문자 조합 요소 문자(예: 조합 순서에가 포함된 경우)채널조합 요소, 그 다음 RE[[.ch.]]*c다음의 처음 5개 문자와 젠 토토합니다.chchcc.
참고: PostgreSQL현재 다중 문자 조합 요소를 지원하지 않습니다. 이것 정보는 가능한 미래 행동을 설명합니다.
괄호 표현식 내에서 다음으로 묶인 조합 요소[=그리고=]은동등 클래스, 다음과 동일한 모든 조합 요소의 문자 시퀀스 그 자신을 포함해 그 사람. (다른 상응하는 항목이 없는 경우 요소를 대조하는 경우 처리는 둘러싸는 구분 기호와 같습니다. 이었다[.그리고.].) 예를 들어, 만약o그리고^동등한 클래스의 구성원이라면[[=o=]], [[=^=]], 그리고[o^]모두 동의어입니다. 안 동등 클래스는 범위의 끝점이 될 수 없습니다.
괄호 표현식 내에서 문자 클래스의 이름 에 포함됨[:그리고:]속해 있는 모든 캐릭터의 목록을 나타냅니다. 그 수업에. 표준 문자 클래스 이름은 다음과 같습니다.알넘, 알파, 공백, 컨트롤, 숫자, 그래프, 하위, 인쇄, 점점, 공간, 상위, xdigit. 이것들은 서 있다 에 정의된 문자 클래스의 경우ctype. 로케일은 다음을 제공할 수 있습니다. 다른 사람. 문자 클래스는 끝점으로 사용할 수 없습니다. 범위.
괄호 표현식에는 두 가지 특별한 경우가 있습니다: 대괄호 표현[[:<:]]그리고[[::]]제약조건이며 빈 문자열과 젠 토토합니다. 각각 단어의 시작과 끝에서. 단어가 정의되어 있습니다 앞에도 없고 앞에도 없는 일련의 단어 문자로 표시됩니다. 그 뒤에 단어 문자가 옵니다. 단어 문자는알넘문자(에 의해 정의됨)ctype) 또는 밑줄. 이것 확장 기능이며 호환되지만 지정되지는 않습니다.POSIX1003.2이며 사용해야 합니다. 다른 시스템으로 이식할 수 있도록 고안된 소프트웨어에서는 주의가 필요합니다. 일반적으로 아래에 설명된 제약 조건 탈출이 더 좋습니다. 그들 더 이상 표준은 아니지만 입력하기가 더 쉽습니다.
탈출은 시작하는 특수 시퀀스입니다. 와 함께\다음에 영숫자 성격. 이스케이프에는 문자 입력, 클래스 속기, 제약 조건 이스케이프 및 역참조. 에이\다음에 영숫자 문자가 옴 그러나 유효한 탈출을 구성하지 않는 것은 ARE에서는 불법입니다. ERE에서는 이스케이프가 없습니다. 대괄호 표현식 외부에는 a\다음에 영숫자 문자만 표시됨 해당 캐릭터를 일반 캐릭터로 나타내고, 대괄호 표현,\보통입니다 성격. (후자는 실제 비호환성 중 하나입니다. ERE 및 ARE.)
문자 입력 이스케이프만들기 위해 존재합니다 인쇄되지 않는 문자 및 기타 불편한 문자를 지정하는 것이 더 쉽습니다. RE에서. 그들은에 표시됩니다테이블 9-16.
클래스 속기 이스케이프제공 일반적으로 사용되는 특정 문자 클래스에 대한 약칭입니다. 그들은 에 표시됨테이블 9-17.
A 제약조건 탈출제약조건입니다. 특정 조건이 충족되면 빈 문자열과 젠 토토하여 작성됩니다. 탈출구로. 그들은에 표시됩니다테이블 9-18.
A 뒤로 참조 (\n)는 동일하게 젠 토토합니다. 이전에 괄호로 묶인 하위 표현식과 젠 토토하는 문자열 번호로 지정됨n(참조테이블 9-19). 예를 들어,([bc])\1젠 토토bb또는cc하지만 아님bc또는cb. 그만큼 하위 표현식은 RE의 역참조보다 완전히 앞에 있어야 합니다. 하위 표현식은 선행 순서에 따라 번호가 매겨집니다. 괄호. 비캡처 괄호는 정의하지 않습니다. 하위 표현식.
참고:탈출이 이어진다는 점을 명심하세요\패턴을 입력할 때 두 배가 필요합니다 SQL 문자열 상수로. 예를 들어:
'123' ~ E'^\\d3'참
표 9-16. 정규식 문자 입력 탈출
| 탈출 | 설명 |
|---|---|
| \a | 경고(벨) 문자, C에서와 같음 |
| \b | 백스페이스, C에서와 같이 |
| \B | 백슬래시의 동의어(\) 도와주세요 백슬래시 두 배의 필요성을 줄입니다. |
| \cX | (어디에서X모든 문자임) 하위 5비트가 와 동일한 문자X, 기타 비트는 모두 영 |
| \e | 조합 순서 이름이 다음과 같은 문자ESC, 또는 실패하면 8진수 값을 가진 문자033 |
| \f | C에서와 같은 양식 피드 |
| \n | C에서와 같이 개행 |
| \r | C에서와 같은 캐리지 리턴 |
| \t | C에서와 같은 수평 탭 |
| \uwxyz | (어디에서wxyz정확히 4개입니다 16진수) 16진수 값이 다음과 같은 문자0xwxyz |
| \Ustuvwxyz | (어디에서stuvwxyz정확히는 8개의 16진수) 16진수 값이 다음과 같은 문자0xstuvwxyz |
| \v | C와 같은 수직 탭 |
| \x흐흐흐 | (어디에서흐흐흐다음의 시퀀스입니다. 16진수) 16진수 값이 다음과 같은 문자0x흐흐흐(a 16진수 숫자에 관계없이 단일 문자 사용된) |
| \0 | 값이 다음과 같은 문자0( 널 바이트) |
| \xy | (어디에서xy정확히 2진수입니다. 숫자이며 a가 아닙니다.뒤로 참조) 8진수 값이 다음과 같은 문자0xy |
| \xyz | (어디에서xyz정확히 3개입니다 8진수이며 a가 아닙니다.뒤로 참조) 8진수 값이 다음과 같은 문자입니다.0xyz |
16진수는0-9, a-f및A-F. 8진수는 다음과 같습니다.0-7.
숫자 문자 입력은 외부 값을 지정하여 이스케이프합니다. ASCII 범위(0-127)는 데이터베이스에 따라 의미가 달라집니다. 부호화. 인코딩이 utf-8이면 이스케이프 값은 동일합니다. 예를 들어 유니코드 코드 포인트로\u1234문자를 의미합니다U+1234. 기타 멀티바이트 인코딩, 문자 입력 이스케이프는 일반적으로 다음을 지정합니다. 문자에 대한 바이트 값의 연결입니다. 만약 이스케이프 값은 다음의 유효한 문자와 젠 토토하지 않습니다. 데이터베이스 인코딩을 사용하면 오류가 발생하지 않지만 젠 토토하지 않습니다. 모든 데이터.
문자 입력 이스케이프는 항상 일반으로 간주됩니다 문자. 예를 들어,\135is]ASCII이지만\135대괄호 표현식을 종료하지 않습니다.
표 9-17. 정규식 클래스 속기 탈출
| 탈출 | 설명 |
|---|---|
| \d | [[:숫자:]] |
| \s | [[:space:]] |
| \w | [[:alnum:]_](참고 밑줄은 포함) |
| \D | [^[:숫자:]] |
| \S | [^[:space:]] |
| \W | [^[:alnum:]_](참고 밑줄은 포함) |
괄호 표현식 내에서,\d, \s및\w패배 외부 괄호 및\D, \S및\W불법입니다. (예를 들어,[a-c\d]다음과 동일함[a-c[:digit:]]. 또한,[a-c\D], 이는와 동일합니다.[a-c^[:숫자:]], 불법입니다.)
표 9-18. 정규식 제약 조건 이스케이프
| 탈출 | 설명 |
|---|---|
| \A | 문자열의 시작 부분에서만 젠 토토합니다(참조섹션 9.7.3.5이것이 다음과 어떻게 다른지^) |
| \m | 단어의 시작 부분에서만 젠 토토합니다. |
| \M | 단어 끝에서만 젠 토토 |
| \y | 단어의 시작이나 끝에서만 젠 토토합니다. |
| \Y | 의 시작이나 끝이 아닌 지점에서만 젠 토토합니다. 단어 |
| \Z | 문자열 끝에서만 젠 토토합니다(참조섹션 9.7.3.5이것이 다음과 어떻게 다른지$) |
단어는 다음의 사양에 정의되어 있습니다.[[:<:]]그리고[[::]]위. 제약 조건 이스케이프는 대괄호 내에서 불법입니다. 표현.
표 9-19. 정규식 역참조
| 탈출 | 설명 |
|---|---|
| \m | (어디에서m은 0이 아닌 숫자입니다) 에 대한 역참조m번째 하위 표현식 |
| \mnn | (어디에서m은 0이 아닌 숫자입니다. 그리고nn숫자가 더 많고, 십진수 값mnn더 크지 않음 지금까지 본 닫는 캡처 괄호의 수보다) 에 대한 역참조mnn번째 하위 표현식 |
참고:8진수 사이에는 본질적인 모호성이 있습니다. 문자 입력 이스케이프 및 역참조는 다음과 같이 해결됩니다. 위에서 암시한 바와 같이 다음과 같은 경험적 방법을 사용합니다. 항상 앞에 0이 옵니다. 8진수 이스케이프를 나타냅니다. 0이 아닌 단일 숫자(뒤에 없음) 다른 숫자는 항상 역참조로 간주됩니다. 여러 자리 0으로 시작하지 않는 시퀀스는 다음과 같은 경우 역참조로 사용됩니다. 적절한 하위 표현식 뒤에 옵니다(즉, 숫자는 역참조의 법적 범위), 그렇지 않으면 다음과 같이 간주됩니다. 8진수.
위에 설명된 주요 구문 외에도 몇 가지가 있습니다. 특수 형식 및 기타 구문 기능을 사용할 수 있습니다.
RE는 두 가지 특수 문자 중 하나로 시작할 수 있습니다.감독접두사. RE가로 시작하는 경우***:, 나머지 RE는 ARE로 간주됩니다. (이것 일반적으로 효과가 없습니다포스트그레SQL, RE는 ARE로 가정되기 때문입니다. 그러나 ERE 또는 BRE 모드가 다음에 의해 지정된 경우에는 효과가 있습니다. 그만큼플래그정규식에 대한 매개변수 함수.) RE가 다음으로 시작하는 경우***=, RE의 나머지 부분은 모든 문자가 포함된 리터럴 문자열로 간주됩니다. 일반 문자로 간주됩니다.
ARE는 다음으로 시작할 수 있습니다.내장 옵션: 시퀀스(?xyz)(어디에서xyz하나 이상의 알파벳입니다. 문자)는 RE의 나머지 부분에 영향을 미치는 옵션을 지정합니다. 이것들 옵션은 이전에 결정된 옵션보다 우선합니다. 특히, 정규 표현식에서 암시하는 대소문자 구분 동작을 재정의할 수 있습니다. 연산자 또는플래그매개변수 정규식 함수. 사용 가능한 옵션 문자는 다음과 같습니다.테이블 9-20. 동일한 옵션 문자가에 사용됩니다.플래그정규식 매개변수 기능.
표 9-20. ARE 내장 옵션 문자
| 옵션 | 설명 |
|---|---|
| b | RE의 나머지 부분은 BRE입니다. |
| c | 대소문자 구분 젠 토토(연산자 유형 재정의) |
| e | RE의 나머지 부분은 ERE입니다. |
| i | 대소문자를 구분하지 않는 젠 토토(참조섹션 9.7.3.5) (연산자 유형을 재정의함) |
| m | 역사적 동의어n |
| n | 줄바꿈 구분 젠 토토(참조섹션 9.7.3.5) |
| p | 부분 개행 인식 젠 토토(참조섹션 9.7.3.5) |
| q | RE의 나머지 부분은 리터럴입니다("인용됨") 문자열, 모든 일반 문자 |
| s | 줄바꿈을 구분하지 않는 젠 토토(기본값) |
| t | 엄격한 구문(기본값, 아래 참조) |
| w | 역 부분 개행 구분("이상해요") 젠 토토(참조섹션 9.7.3.5) |
| x | 확장된 구문(아래 참조) |
내장된 옵션은 다음에서 적용됩니다.)시퀀스를 종료합니다. 시작 시에만 나타날 수 있습니다. ARE(이후에***:감독이 있는 경우).
일반적인 것 외에도 (단단한) RE 모든 문자가 중요한 구문에는확장됨구문, 지정하여 사용 가능 임베디드x옵션. 확장에서는 구문에서 RE의 공백 문자는 모두 무시됩니다. a 사이의 문자#및 다음 개행(또는 RE의 끝). 이를 통해 단락을 허용하고 복잡한 RE에 주석을 달고 있습니다. 기본에는 세 가지 예외가 있습니다. 규칙:
공백 문자 또는#이전 에 의해\보존됨
공백 또는#괄호 안에 표현은 유지됩니다
여백과 주석은 다중 문자 내에 나타날 수 없습니다. 기호(예:)(?:
이 목적을 위해 공백 문자는 공백, 탭, 개행 및 다음 문자에 속하는 모든 문자공간문자 클래스.
마지막으로 ARE 외부 대괄호 표현식에서 시퀀스(?#ttt)(어디에서ttt다음을 포함하지 않는 텍스트입니다))은 주석이며 완전히 무시됩니다. 다시 말하지만, 이는 다음 문자 사이에 허용되지 않습니다. 여러 문자 기호(예:)(?:. 그런 댓글은 유용한 시설이라기보다는 역사적 유물에 가깝습니다. 그 사용은 더 이상 사용되지 않습니다. 대신 확장된 구문을 사용하세요.
없음이들 중 초기 구문인 경우 메타구문 확장을 사용할 수 있습니다.***=감독이 사용자의 입력을 지정했습니다. RE가 아닌 리터럴 문자열로 처리됩니다.
RE가 하나 이상의 하위 문자열과 젠 토토할 수 있는 경우 주어진 문자열에서 RE는 해당 문자열에서 가장 먼저 시작하는 것과 젠 토토합니다. 끈. RE가 다음에서 시작하는 둘 이상의 하위 문자열과 젠 토토할 수 있는 경우 그 지점은 가능한 가장 긴 젠 토토 또는 가장 짧은 젠 토토입니다. RE 여부에 따라 가능한 젠 토토가 이루어집니다.탐욕스러운또는탐욕스럽지 않음.
RE가 탐욕스러운지 여부는 다음에 의해 결정됩니다. 규칙:
대부분의 원자와 모든 제약 조건에는 탐욕 속성이 없습니다. (어쨌든 가변적인 양의 텍스트와 젠 토토할 수 없기 때문입니다.)
RE 주위에 괄호를 추가해도 RE는 변경되지 않습니다. 탐욕.
고정 반복 수량자를 사용하여 수량화된 원자 ({m}또는{m}?)는 동일합니다 원자 자체로서의 탐욕(아마도 없음).
다른 일반 수량자를 사용하는 수량화된 원자(포함{m,n}와m같음n) 탐욕스럽습니다(가장 긴 젠 토토를 선호함).
탐욕적이지 않은 수량자를 사용하는 수량화된 원자(포함{m,n}?함께m같음n) 욕심이 없습니다 (최단 젠 토토를 선호합니다).
브랜치 — 즉, 최상위 레벨이 없는 RE|연산자 — 첫 번째와 동일한 탐욕을 가지고 있습니다. 탐욕 속성을 가지고 있는 정량화된 원자입니다.
다음으로 연결된 둘 이상의 분기로 구성된 RE|연산자는 항상 탐욕스럽습니다.
위의 규칙은 탐욕 속성뿐만 아니라 개별적으로 정량화된 원자이지만 가지와 전체 RE가 포함되어 있습니다. 정량화된 원자를 포함합니다. 그게 의미하는 바는 젠 토토한다는 것입니다. 분기 또는 전체 RE가 젠 토토하는 방식으로 수행됩니다. 가장 길거나 가장 짧은 부분 문자열전체적으로. 일단 길이는 전체 젠 토토가 결정되며, 젠 토토하는 부분이 특정 하위 표현식은 다음을 기반으로 결정됩니다. 해당 하위 표현식의 탐욕 속성(하위 표현식 포함) RE에서 더 일찍 시작하는 것이 시작하는 것보다 우선순위를 갖습니다. 나중에.
이것이 무엇을 의미하는지에 대한 예:
부분 문자열 선택('XY1234Z', 'Y*([0-9]1,3)');결과:123SUBSTRING 선택('XY1234Z', 'Y*?([0-9]1,3)');결과:1
첫 번째 경우에는 RE 전체가 탐욕스럽습니다. 왜냐하면Y*탐욕스럽습니다. 시작부터 젠 토토할 수 있습니다. 그만큼Y, 가능한 가장 긴 시간과 젠 토토합니다. 거기에서 시작하는 문자열, 즉,Y123. 그만큼 출력은 괄호로 묶인 부분입니다. 또는123. 두 번째 경우에는 RE 전체가 다음과 같습니다. 탐욕스럽지 않기 때문에예*?탐욕스럽지 않습니다. 그것 에서 시작하여 젠 토토할 수 있습니다.Y그리고 그것은 거기에서 시작하는 가능한 가장 짧은 문자열과 젠 토토합니다. 즉,Y1. 하위 표현식[0-9]{1,3}탐욕스럽기는 하지만 변경할 수는 없습니다. 전체 경기 시간에 대한 결정; 그래서 강제로 젠 토토하게 됐어요 단지1.
요컨대, RE에 탐욕스러운 것과 탐욕스럽지 않은 것이 모두 포함된 경우 하위 표현식의 경우 총 젠 토토 길이는 다음 중 하나입니다. 속성에 따라 가능하거나 최대한 짧음 전체 RE에 할당됩니다. 에 할당된 속성은 하위 표현식은 허용되는 젠 토토 정도에만 영향을 미칩니다. 에게"먹으세요"서로 상대적입니다.
수량자{1,1}그리고{1,1}?탐욕을 강요하거나 하위 표현식 또는 전체 RE에 대한 탐욕 없음. 이는 전체 RE에 욕심이 필요할 때 유용합니다. 속성이 해당 요소에서 추론된 것과 다릅니다. 로서 예를 들어, 다음을 포함하는 문자열을 분리하려고 한다고 가정합니다. 일부 숫자를 숫자와 그 앞과 뒤의 부분으로 만듭니다. 우리 다음과 같이 시도해 볼 수도 있습니다:
SELECT regexp_matches('abc01234xyz', '(.*)(\d+)(.*)');결과:abc0123,4,xyz
그것은 작동하지 않았습니다: 첫 번째.*이다 욕심이 많군요"먹는다"가능한 만큼, 떠나는 중\d+마지막에 젠 토토시키다 가능한 장소, 마지막 숫자. 우리는 다음을 통해 이 문제를 해결하려고 할 수도 있습니다. 탐욕스럽지 않아요:
SELECT regexp_matches('abc01234xyz', '(.*?)(\d+)(.*)');결과:abc,0,""
그것도 작동하지 않았습니다. 이제 RE 전체가 욕심이 없기 때문에 최대한 빨리 전체 경기를 종료합니다. 우리 RE 전체를 탐욕스럽게 만들어 우리가 원하는 것을 얻을 수 있습니다.
SELECT regexp_matches('abc01234xyz', '(?:(.*?)(\d+)(.*))1,1');결과:abc,01234,xyz
RE의 전반적인 욕심을 RE와 별도로 제어합니다. 구성 요소의 탐욕으로 인해 취급 유연성이 향상됩니다. 가변 길이 패턴.
더 길거나 짧은 젠 토토 항목을 결정할 때 젠 토토 길이 조합 요소가 아닌 문자로 측정됩니다. 빈 문자열 전혀 젠 토토하지 않는 것보다 더 긴 것으로 간주됩니다. 예를 들어:bb*다음의 중간 세 글자와 젠 토토합니다.abbbc; (week|wee)(밤|기사)10개 문자 모두와 젠 토토 의주중; 언제(.*).*다음과 젠 토토함abc괄호 안에 있는 하위 표현식은 모두 젠 토토합니다. 세 글자; 그리고 언제(a*)*입니다 젠 토토bc전체 RE 및 괄호 안에 있는 하위 표현식은 빈 문자열과 젠 토토합니다.
대소문자 독립적 젠 토토가 지정되면 효과는 다음과 같습니다. 모든 대소 문자 구별이 알파벳에서 사라졌다면. 때 여러 경우에 존재하는 알파벳은 일반 문자로 나타납니다. 대괄호 표현식 밖의 문자는 효과적으로 두 경우를 모두 포함하는 대괄호 표현식으로 변환됩니다(예:x되다[xX]. 대괄호 표현식 안에 나타날 경우 모든 대소문자 대응 그 중 괄호 표현식에 추가됩니다(예:[x]되다[xX]그리고[^x]되다[^xX].
줄바꿈 구분 젠 토토가 지정된 경우,.및 대괄호 표현식 사용^절대 개행 문자와 젠 토토하지 않습니다(그래서 RE가 명시적으로 정렬하지 않는 한 젠 토토 항목은 개행을 넘지 않습니다. 그것) 그리고^그리고$개행 문자 앞뒤의 빈 문자열과 젠 토토합니다. 각각의 시작과 끝에서 젠 토토하는 것 외에도 각각 문자열. 그러나 ARE는 탈출합니다.\A그리고\Z계속 젠 토토 문자열의 시작 또는 끝만.
부분 개행 구분 젠 토토가 지정된 경우 이는 영향을 받습니다..및 대괄호 표현식 개행을 구분하는 젠 토토, 그러나 그렇지 않음^그리고$.
역 부분 개행 구분 젠 토토가 지정된 경우, 이것은 영향을 미친다^그리고$줄바꿈 인식 젠 토토와 같지만 그렇지 않음.및 대괄호 표현식. 이건 별로 유용하지 않아요 그러나 대칭을 위해 제공됩니다.
이에서는 RE 길이에 특별한 제한이 적용되지 않습니다. 구현. 그러나 이식성이 뛰어난 프로그램 POSIX 규격으로 256바이트보다 긴 RE를 사용해서는 안 됩니다. 구현에서는 그러한 RE 수락을 거부할 수 있습니다.
실제로 호환되지 않는 ARE의 유일한 기능은 POSIX ERE는 다음과 같습니다.\그것을 잃지 않습니다 대괄호 표현식 안에 특별한 의미가 있습니다. 다른 모든 것은 기능은 불법이거나 정의되지 않은 구문을 사용합니다. POSIX ERE의 지정되지 않은 효과; 그만큼***이사 구문도 마찬가지로 두 가지 모두 POSIX 구문 외부에 있습니다. BRE 및 ERE.
많은 ARE 확장은 Perl에서 차용되었지만 일부는 정리하도록 변경되었으며 일부 Perl 확장은 그렇지 않습니다. 현재의. 주의할 점은 다음과 같습니다.\b, \B, 특수 기능이 부족함 후행 개행 처리, 보완 추가 개행 구분의 영향을 받는 항목에 대한 대괄호 표현식 젠 토토, 괄호 및 역참조에 대한 제한 사항 미리보기 제약 조건 및 최장/최단 젠 토토(대신 첫 번째 젠 토토) 젠 토토하는 의미.
ARE와 ERE 사이에는 두 가지 심각한 비호환성이 존재합니다. 7.4 이전 릴리스에서 인식되는 구문포스트그레SQL:
ARE에서는,\뒤에 영숫자 문자는 이스케이프 또는 오류 중 하나입니다. 이전에는 릴리스에서는 영숫자를 쓰는 또 다른 방법이었습니다. 이것 그럴 이유가 없었기 때문에 크게 문제가 되지는 않을 것입니다. 이전 릴리스에서는 이러한 시퀀스를 작성했습니다.
ARE에서는,\특수문자로 남아있습니다 이내에[], 즉 리터럴\괄호 안에 표현식을 작성해야 합니다\\.
BRE는 여러 측면에서 ERE와 다릅니다. BRE에서는|, +및?일반 문자이며 이에 상응하는 문자가 없습니다. 기능을 위해. 경계 구분 기호는 다음과 같습니다.\{그리고\}, 와{그리고}스스로 평범한 캐릭터. 중첩된 하위 표현식의 괄호는 다음과 같습니다.\(그리고\), 와(그리고)작성자 그 자체로는 평범한 캐릭터입니다.^은 RE의 시작 부분을 제외한 일반 문자 또는 괄호로 묶인 하위 표현식의 시작,$은 끝 부분을 제외하고는 일반 문자입니다. RE 또는 괄호로 묶인 하위 표현식의 끝 및*다음 위치에 나타나면 일반 문자입니다. RE의 시작 또는 괄호 안의 시작 하위 표현식(가능한 선행 뒤에^). 마지막으로 한 자리 역참조는 다음과 같습니다. 이용 가능하며, 그리고\<그리고\다음의 동의어입니다[[:<:]]그리고[[::]]각각; BRE에서는 다른 이스케이프를 사용할 수 없습니다.
| 이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
| 비트 문자열 함수 및 운영자 | 위로 | 데이터 유형 형식화 기능 |