POSIX BRE( Basic Regular Expression )
- ^
- $
- .
- *
- \
- (
- {
- [
2. $ ( Dollar )
구문 ( Syntax )
<dollar> ::= $
- 사용 예
<dollar>
<pattern_expr><dollar>
<dollar><pattern_expr>
<pattern_expr><dollar><pattern_expr>
<dollar> <pattern_expr><dollar> <dollar><pattern_expr> <pattern_expr><dollar><pattern_expr>
설명 ( Description )
- source string의 끝을 의미한다.
- 일반적으로 <dollar> 앞에 <pattern_expr>을 입력하여 사용한다.
- ex) abc$
- <dollar> 만 있는 경우, source string의 맨 뒤를 매칭한다. ( zero-length match )
- ex) $
- <dollar> 뒤에 <pattern_expr>이 있는 경우, 어떤 source string과도 매칭하지 않는다.
- ex) $a
- 예외
- ex) ab$c* <=> ab$
- ex) $c* <=> $
- ex) abc$
- ex) $
- ex) $a
- 예외
- ex) ab$c* <=> ab$
- ex) $c* <=> $
별다른 옵션이 없다면 source string의 끝지점을 매칭하지만,
multiline mode 옵션이 주어지면 source string의 각 라인 끝지점들을 매칭한다. ( 이 경우, 라인의 기준은 ASCII(10)인 Line Feed(\n)이다. )
예제 ( Examples )
SQL> SELECT REGEXP_SUBSTR( 'abc', '$' ) AS RESULT FROM DUAL;
RESULT
--------------------
NULL
SQL> SELECT REGEXP_COUNT( 'abc', '$' ) AS RESULT FROM DUAL;
RESULT
----------
1
SQL> SELECT REGEXP_SUBSTR( 'abc', '$c' ) AS RESULT FROM DUAL;
RESULT
--------------------
NULL
SQL> SELECT REGEXP_COUNT( 'abc', '$c' ) AS RESULT FROM DUAL;
RESULT
----------
0
SQL> SELECT REGEXP_SUBSTR( 'abc', '.$c*' ) AS RESULT FROM DUAL;
RESULT
--------------------
c
SQL> SELECT REGEXP_SUBSTR( 'abc', 'c$' ) AS RESULT FROM DUAL;
RESULT
--------------------
c
SQL> SELECT REGEXP_SUBSTR( 'abc', '(.*)$' ) AS RESULT FROM DUAL;
RESULT
--------------------
abc
SQL> SELECT REGEXP_SUBSTR( 'abc'||CHR(10)||'def', '.$' ) AS RESULT FROM DUAL;
RESULT
--------------------
f
SQL> SELECT REGEXP_COUNT( 'abc'||CHR(10)||'def', '.$' ) AS RESULT FROM DUAL;
RESULT
----------
1
SQL> SELECT REGEXP_SUBSTR( 'abc'||CHR(10)||'def', '.$', 1, 1, 'm' ) AS RESULT FROM DUAL;
RESULT
--------------------
c
SQL> SELECT REGEXP_SUBSTR( 'abc'||CHR(10)||'def', '.$', 1, 2, 'm' ) AS RESULT FROM DUAL;
RESULT
--------------------
f
SQL> SELECT REGEXP_COUNT( 'abc'||CHR(10)||'def', '$', 1, 'm' ) AS RESULT FROM DUAL;
RESULT
----------
2
SQL> SELECT REGEXP_SUBSTR( 'a', '.$' ) AS RESULT FROM DUAL;
RESULT
--------------------
a
SQL> SELECT REGEXP_COUNT( 'a', '.$' ) AS RESULT FROM DUAL;
RESULT
----------
1
SQL> SELECT REGEXP_SUBSTR( 'a'||CHR(10), '.$' ) AS RESULT FROM DUAL;
RESULT
--------------------
a
SQL> SELECT REGEXP_COUNT( 'a'||CHR(10), '.$' ) AS RESULT FROM DUAL;
RESULT
----------
1
SQL> SELECT REGEXP_SUBSTR( 'a'||CHR(10)||CHR(10), '.$' ) AS RESULT FROM DUAL;
RESULT
--------------------
NULL
SQL> SELECT REGEXP_COUNT( 'a'||CHR(10)||CHR(10), '.$' ) AS RESULT FROM DUAL;
RESULT
----------
0
SQL> SELECT REGEXP_SUBSTR( 'a'||CHR(10)||CHR(10), '.$', 1, 1, 'm' ) AS RESULT FROM DUAL;
RESULT
--------------------
a
SQL> SELECT REGEXP_SUBSTR( 'a'||CHR(10)||CHR(10), '.$', 1, 2, 'm' ) AS RESULT FROM DUAL;
RESULT
--------------------
NULL
SQL> SELECT REGEXP_COUNT( 'a'||CHR(10)||CHR(10), '.$', 1, 'm' ) AS RESULT FROM DUAL;
RESULT
----------
1
SQL> SELECT REGEXP_COUNT( 'a', '.$', 1, 'm' ) AS RESULT FROM DUAL;
RESULT
----------
1
SQL> SELECT REGEXP_COUNT( 'a'||CHR(10), '.$', 1, 'm' ) AS RESULT FROM DUAL;
RESULT
----------
1
SQL> SELECT REGEXP_COUNT( 'a'||CHR(10)||CHR(10), '.$', 1, 'm' ) AS RESULT FROM DUAL;
RESULT
----------
1
SQL> SELECT REGEXP_COUNT( 'a', '$' ) AS RESULT FROM DUAL;
RESULT
----------
1
SQL> SELECT REGEXP_COUNT( 'a'||CHR(10), '$' ) AS RESULT FROM DUAL;
RESULT
----------
1
SQL> SELECT REGEXP_COUNT( 'a'||CHR(10)||CHR(10), '$' ) AS RESULT FROM DUAL;
RESULT
----------
1
SQL> SELECT REGEXP_COUNT( 'a'||CHR(10)||CHR(10)||CHR(10), '$' ) AS RESULT FROM DUAL;
RESULT
----------
1
SQL> SELECT REGEXP_COUNT( 'a', '$', 1, 'm' ) AS RESULT FROM DUAL;
RESULT
----------
1
SQL> SELECT REGEXP_COUNT( 'a'||CHR(10), '$', 1, 'm' ) AS RESULT FROM DUAL;
RESULT
----------
1
SQL> SELECT REGEXP_COUNT( 'a'||CHR(10)||CHR(10), '$', 1, 'm' ) AS RESULT FROM DUAL;
RESULT
----------
2
SQL> SELECT REGEXP_COUNT( 'a'||CHR(10)||CHR(10)||CHR(10), '$', 1, 'm' ) AS RESULT FROM DUAL;
RESULT
----------
3
SQL> SELECT REGEXP_COUNT( 'a'||CHR(10)||CHR(10)||CHR(10)||CHR(10), '$', 1, 'm' ) AS RESULT FROM DUAL;
RESULT
----------
4
SQL> SELECT REGEXP_SUBSTR( 'abc', '$' ) AS RESULT FROM DUAL; RESULT -------------------- NULL SQL> SELECT REGEXP_COUNT( 'abc', '$' ) AS RESULT FROM DUAL; RESULT ---------- 1 SQL> SELECT REGEXP_SUBSTR( 'abc', '$c' ) AS RESULT FROM DUAL; RESULT -------------------- NULL SQL> SELECT REGEXP_COUNT( 'abc', '$c' ) AS RESULT FROM DUAL; RESULT ---------- 0 SQL> SELECT REGEXP_SUBSTR( 'abc', '.$c*' ) AS RESULT FROM DUAL; RESULT -------------------- c SQL> SELECT REGEXP_SUBSTR( 'abc', 'c$' ) AS RESULT FROM DUAL; RESULT -------------------- c SQL> SELECT REGEXP_SUBSTR( 'abc', '(.*)$' ) AS RESULT FROM DUAL; RESULT -------------------- abc SQL> SELECT REGEXP_SUBSTR( 'abc'||CHR(10)||'def', '.$' ) AS RESULT FROM DUAL; RESULT -------------------- f SQL> SELECT REGEXP_COUNT( 'abc'||CHR(10)||'def', '.$' ) AS RESULT FROM DUAL; RESULT ---------- 1 SQL> SELECT REGEXP_SUBSTR( 'abc'||CHR(10)||'def', '.$', 1, 1, 'm' ) AS RESULT FROM DUAL; RESULT -------------------- c SQL> SELECT REGEXP_SUBSTR( 'abc'||CHR(10)||'def', '.$', 1, 2, 'm' ) AS RESULT FROM DUAL; RESULT -------------------- f SQL> SELECT REGEXP_COUNT( 'abc'||CHR(10)||'def', '$', 1, 'm' ) AS RESULT FROM DUAL; RESULT ---------- 2
SQL> SELECT REGEXP_SUBSTR( 'a', '.$' ) AS RESULT FROM DUAL; RESULT -------------------- a SQL> SELECT REGEXP_COUNT( 'a', '.$' ) AS RESULT FROM DUAL; RESULT ---------- 1 SQL> SELECT REGEXP_SUBSTR( 'a'||CHR(10), '.$' ) AS RESULT FROM DUAL; RESULT -------------------- a SQL> SELECT REGEXP_COUNT( 'a'||CHR(10), '.$' ) AS RESULT FROM DUAL; RESULT ---------- 1 SQL> SELECT REGEXP_SUBSTR( 'a'||CHR(10)||CHR(10), '.$' ) AS RESULT FROM DUAL; RESULT -------------------- NULL SQL> SELECT REGEXP_COUNT( 'a'||CHR(10)||CHR(10), '.$' ) AS RESULT FROM DUAL; RESULT ---------- 0 SQL> SELECT REGEXP_SUBSTR( 'a'||CHR(10)||CHR(10), '.$', 1, 1, 'm' ) AS RESULT FROM DUAL; RESULT -------------------- a SQL> SELECT REGEXP_SUBSTR( 'a'||CHR(10)||CHR(10), '.$', 1, 2, 'm' ) AS RESULT FROM DUAL; RESULT -------------------- NULL SQL> SELECT REGEXP_COUNT( 'a'||CHR(10)||CHR(10), '.$', 1, 'm' ) AS RESULT FROM DUAL; RESULT ---------- 1 SQL> SELECT REGEXP_COUNT( 'a', '.$', 1, 'm' ) AS RESULT FROM DUAL; RESULT ---------- 1 SQL> SELECT REGEXP_COUNT( 'a'||CHR(10), '.$', 1, 'm' ) AS RESULT FROM DUAL; RESULT ---------- 1 SQL> SELECT REGEXP_COUNT( 'a'||CHR(10)||CHR(10), '.$', 1, 'm' ) AS RESULT FROM DUAL; RESULT ---------- 1
SQL> SELECT REGEXP_COUNT( 'a', '$' ) AS RESULT FROM DUAL; RESULT ---------- 1 SQL> SELECT REGEXP_COUNT( 'a'||CHR(10), '$' ) AS RESULT FROM DUAL; RESULT ---------- 1 SQL> SELECT REGEXP_COUNT( 'a'||CHR(10)||CHR(10), '$' ) AS RESULT FROM DUAL; RESULT ---------- 1 SQL> SELECT REGEXP_COUNT( 'a'||CHR(10)||CHR(10)||CHR(10), '$' ) AS RESULT FROM DUAL; RESULT ---------- 1 SQL> SELECT REGEXP_COUNT( 'a', '$', 1, 'm' ) AS RESULT FROM DUAL; RESULT ---------- 1 SQL> SELECT REGEXP_COUNT( 'a'||CHR(10), '$', 1, 'm' ) AS RESULT FROM DUAL; RESULT ---------- 1 SQL> SELECT REGEXP_COUNT( 'a'||CHR(10)||CHR(10), '$', 1, 'm' ) AS RESULT FROM DUAL; RESULT ---------- 2 SQL> SELECT REGEXP_COUNT( 'a'||CHR(10)||CHR(10)||CHR(10), '$', 1, 'm' ) AS RESULT FROM DUAL; RESULT ---------- 3 SQL> SELECT REGEXP_COUNT( 'a'||CHR(10)||CHR(10)||CHR(10)||CHR(10), '$', 1, 'm' ) AS RESULT FROM DUAL; RESULT ---------- 4
'IT > Regular Expression' 카테고리의 다른 글
[REGEX] :: POSIX BRE Meta Character '' 5. \ ( back slash ) '' (0) | 2019.07.16 |
---|---|
[REGEX] :: POSIX BRE Meta Character '' 4. * ( asterisk ) '' (0) | 2019.07.02 |
[REGEX] :: POSIX BRE Meta Character '' 3. . ( period ) '' (0) | 2019.07.02 |
[REGEX] :: POSIX BRE Meta Character '' 1. ^ ( caret ) '' (0) | 2019.06.07 |
[REGEX] :: 정규 표현식의 기본 개념 (2) | 2019.04.23 |