문제

나는 자유 형식 텍스트를보다 구조화 된 것으로 바꾸려고 노력하고 있습니다. 사용 가능한 데이터의 대다수 (최소 허용 가능한 한계보다 훨씬 높은)와 일치하는 복잡한 패턴이 있으며,이를 사용하여 텍스트 별 문자 별 문자를 구문 분석하는 대신 데이터를 구성하는 데 도움이됩니다. 내가 방금 겪는 문제는 Oracle이 캡처 그룹을 처리하는 방법이없는 것 같다는 것입니다 (어떻게 든 놓친 경우가 아니라면).

예를 들어, 내 표현에는 다음과 같은 이름의 캡처 그룹이 있습니다. ((?<runit_ID>\d+)-) 그리고 (STAT_N|STTN|STAT|STN) ?(?<STAT>\w+). 코드베이스는 전적으로 PL/SQL로 작성되므로 C# 또는 다른 것을 사용하여 캡처 그룹을 이름으로 언급 할 수 없습니다. 사람들은 PL/SQL 에서이 문제를 어떻게 해결합니까?

도움이 되었습니까?

해결책

Oracle 10G 이상을 사용하고 있다고 가정하면 regexp_replace를 뒷면 reference와 함께 사용할 수 있습니다.

예제를 참조하십시오 regexp_replace 용 Oracle Docs 그리고 이것에서 정기-표현식의 기사.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top