regexp_replace 예제

다음 예제에서는 문자열에 두 번 이상 나타나는 원치 않는 공백을 제거합니다. 선언 x VARCHAR2 (1); y VARCHAR2 (1); z 바르차르2(1); c VARCHAR2(40) := `1,2,4,5,6,7`; BEGIN — 찾는 값이 목록의 null 값 앞에 있는 경우 예상대로 작동합니다: x := REGEXP_SUBSTR(c, `[^,+`, 1, 2); — 이 양식은 모든 요소가 있을 때만 4번째 요소를 반환합니다. — 이 예제에서는 실제로 `5`인 4번째 비null 요소를 반환합니다. — null 요소가 있는지 관계없이 4 번째 요소 다음에 실제로 있는 경우 다음 예제에서는 phone_number를 검사하여 패턴 xxx.xxx.xxxx를 찾습니다. 오라클은 (xxx) xxx-xxxx Flags 값으로 이 패턴을 `i`, `c`, `n`, `m`으로 제한합니다. 다른 기호는 예외를 일으킵니다. 여러 기호는 하나의 플래그에서 사용할 수 있습니다String 매개 변수 (예 : `im`). 이후 플래그는 대/소문자 구분 `c`와 동등한 `ic`와 같은 첫 번째 플래그를 재정의합니다. 이 예제에서는 REGEXP_REPLACE 함수를 사용하여 텍스트 변수에서 HTML 태그를 제거합니다. 이 예제에는 이 경우 동일한 결과를 달성하는 세 가지 정규식이 포함되어 있습니다. 테스트 데이터는 다음과 같습니다. 위의 구문 분석 데모에서는 목록에 NULL 요소가 있을 때 작동하지 않는 정규식 `[^,]+`를 사용합니다. 이로 인해 잘못된 요소의 데이터가 반환될 수 있습니다.

주석과 함께 이 간단한 예제를 살펴보겠습니다: REGEXP_REPLACE() 함수의 작동 방식을 이해하는 몇 가지 예제를 살펴보겠습니다. 다음 예제에서는 둘 이상의 공백을 찾는 문자열을 검사합니다. 둘 이상의 공백이 발생할 때마다 단일 공백으로 바뀝니다. 다음 예제는 REGEXP_REPLACE 함수찾기 1(.) 원래 문자열의 문자가 단일 빈 공간으로 바꿉니다. SQL REGEXP_REPLACE() 함수 지원 오라클 SQL 버전 우리는 4 자리 의 블록이 텍스트에 나타나는 횟수를 알 필요가있다. 데이터는 다음과 같습니다. 위치는 오라클이 검색을 시작해야 하는 source_char의 특성을 나타내는 양수 정수입니다. 기본값은 1이며, 이는 오라클이 source_char의 첫 번째 문자에서 검색을 시작한다는 것을 의미합니다. 이렇게 하려면 아래와 같이 REGEXP_REPLACE() 함수를 사용할 수 있습니다. 정기적으로 하지 않으면 매번 발견의 항해가 될 수 있습니다. 정규표현식 작성에 대한 일반적인 규칙은 여기에서 확인할 수 있습니다. 오라클 정규 표현식 지원은 여기에서 확인할 수 있습니다.

이 쿼리는 데이터 정리 작업 프로세스에 유용합니다. `i`는 대/소문자 구분되지 않는 일치(Pattern.CASE_INSENSITIVE) 문자열의 첫 번째 부분은 initcap 단어이므로 “A”와 “Z” 사이의 대문자로 시작합니다. “[]” 연산자를 사용하여 단일 문자를 식별하고 범위는 “A-Z”, “a-z” 또는 “0-9″와 같은 “-“를 사용하여 표현됩니다. 따라서 대문자인 단일 문자를 찾고 있다면 “[A-Z]”를 찾아야 합니다. 소문자가 뒤따라야 하는데, 이제 는 “[a-z]”이지만 그 중 1개 이상이 필요하며 이는 “+” 연산자로 표시됩니다. 따라서 initcap 단어를 찾으려면 “[A-Z][a-z]+”를 검색해야 합니다. 이 것의 첫 번째 발생을 원하기 때문에 다음을 사용할 수 있습니다. . 다음 부분은 소문자 그룹입니다. 우리는 initcap 단어에서 그 를 데리러하지 않습니다, 그래서 우리는 소문자의 두 번째 발생을 찾아야합니다. 다음 문은 보안을 위해 신용 카드의 중간 부분을 숨깁니다. 이 기술을 전자 상거래, 뱅킹 및 엄격한 보안이 필요한 기타 금융 응용 프로그램에 적용할 수 있습니다.

Comments

Comments are closed.