오라클 정규표현식 패턴 매칭 질문 0 2 522

by Thomas [SQL Query] 정규표현식 특정문자열 [2022.02.17 10:01:29]


일전에 #{불특정문자열} 찾아주는 정규표현식 알려주셔서 감사했습니다.


\[DBA구루비\] (.*)님 (.*)일 (.*)원 그루비통장에서 출금됩니다
\[DBA구루비\] (.*)님 금일 (.*)원 그루비통장에서 출금됩니다

위와같이 2개의 패턴을 테이블에 넣어놓고,

REGEXP_LIKE('[DBA구루비] 사용자님 금일 23,000원 그루비통장에서 출금됩니다' PATTERN_MSG)

위와같이 쿼리하니 등록된 2개가 다 걸려올라오거든요. 구분해서 인식할 해결방법이 없을까요?

 

접근방법이 좀 이상하긴 한데... 외부시스템에 있는 코드를 내부시스템에서 특정시점에 가져올 방법이 없다보니 명시적으로 등록해놓고 패턴 매칭해서 해당하는 코드를 가져오려고 하는거라 꼭 되어야 하거든요. ㅠㅠ

by 마농 [2022.02.17 10:27:56]

유사한 패턴의 경우
- 1안) 우선순위를 설정하고 우선순위가 높은 것 우선 출력하도록 하는 방안
- 2안) 첫번째 패턴을 두번째와 다르게 나오도록 수정하는 방안 (.*)일 -> ([^금]+)일
기타
- (.*) 가 맞나요? (.+) 로 해야 하지 않을 런지?


by Thomas [2022.02.17 17:50:16]

마농님 답변 감사드립니다.

결과적으로 정규표현식 비교대상이 512자 초과하여 다른방법을 찾기로 했습니다.
덕분에 정규표현식 많이 배우게 된 계기가 된거 같아요. 감사드립니다.

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