정규표현식 문의 드립니다. 0 2 5,446

by 동동동 [SQL Query] [2021.02.16 08:33:23]


안녕하세요...정규표현식에 대해 알아보고 있는데 진도가 안나가네요..ㅠㅠ

 

regexp_substr(특정칼럼 , '[^*]+', 1, 1)

regexp_substr(특정칼럼, '[^()<]+', 1, 2)

이 두개의 정규표현식이 뭐를 의미하는건지요?

 

대괄호([ ]) 가 붙은건 반복(구간)을 의미하고 ^는 시작문자를 뜻하고...

+ 등... 저런게 조합되어 어떤의미로 사용된건지 감이 안오네요...ㅠㅠ

 

도움 부탁드립니다...

 

by 마농 [2021.02.16 09:53:32]

1. 대괄호가 반복문자를 의미하는게 아닙니다.
 - 대괄호는 패턴이 있는 문자을 정의합니다.
 - 반복 문자는 *(0개 이상) 과 +(1개 이상) 등으로 표현합니다.
2. 대괄호 안과 밖에서의 의미 차이
 - ^ 은 문자열의 시작을 뜻하지만 대괄호 안에서는 NOT 을 뜻합니다.
 - *, + 는 문자 반복을 뜻하지만 대괄호 안에서는 의미 없는 기호일 뿐입니다.
3. 질문의 구문을 해석해 보면
 - '[^*]+' ----> * 이 아닌 문자가 1개 이상 반복
 - '[^()<]+' ----> 괄호열기"(", 괄호닫기")", 작다"<" 가 아닌 문자가 1개 이상 반복
 - 다만, 구문만 보지 말고 실제 데이터를 가지고 실행 전후 결과를 비교해 보셔야 합니다.
 


by 동동동 [2021.02.16 09:57:20]

마농님 설명 감사드립니다...^^

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입