logo

MySQL REGEXP_REPLACE() 함수

MySQL REGEXP_REPLACE() 함수는 패턴 일치에 사용됩니다. 이 기능 문자열에서 정규식 패턴을 검색하고 해당 패턴이 나타나는 모든 항목을 바꿉니다. 주어진 정규식 패턴과 일치하는 지정된 문자열을 사용합니다. 일치하는 항목이 발견되면 대체 항목과 함께 전체 문자열을 반환합니다. 일치하는 항목이 없으면 반환된 문자열은 변경되지 않습니다. 표현식, 패턴 및 대체 문자열이 NULL인 경우 함수는 NULL을 반환합니다.

REGEXP_REPLACE(), 교체(), 그리고 번역() 기능하다 MySQL TRANSLATE를 사용하면 여러 개의 단일 문자 대체를 수행할 수 있고 REPLACE 함수는 하나의 전체 문자열을 다른 문자열로 바꾸는 반면 REGEXP_REPLACE는 문자열에서 정규식 패턴을 검색한다는 점을 제외하면 동일하게 작동합니다.

통사론

다음은 MySQL에서 이 함수를 사용하는 기본 구문입니다.

 REGEXP_REPLACE (expression, pattern, replace_string[, pos[, occurrence[, match_type]]]) 

매개변수 설명

REGEXP_REPLACE() 함수 매개변수에 대한 설명은 다음과 같습니다.

표현: 이는 정규식 매개변수 및 함수를 통해 검색을 수행할 입력 문자열입니다.

안드로이드의 부활절 달걀

패턴: 하위 문자열에 대한 정규식 패턴을 나타냅니다.

교체_문자열: 일치하는 항목이 발견되면 대체될 하위 문자열입니다.

REGEXP_INSTR() 함수는 아래와 같은 다양한 선택적 매개변수를 사용합니다.

위치: 검색을 시작하기 위해 문자열 내 표현식의 위치를 ​​지정하는 데 사용됩니다. 이 매개변수를 지정하지 않으면 위치 1에서 시작됩니다.

발생: 검색할 일치 항목을 지정하는 데 사용됩니다. 이 매개변수를 지정하지 않으면 모든 항목이 대체됩니다.

match_type: 정규식을 구체화할 수 있는 문자열입니다. 일치를 수행하기 위해 다음과 같은 가능한 문자를 사용합니다.

npm 클린 캐시 강제
    씨:대소문자를 구분하는 일치를 나타냅니다.나:대소문자를 구분하지 않는 일치를 나타냅니다.중:문자열 내에서 줄 종결자를 허용하는 여러 줄 모드를 나타냅니다. 기본적으로 이 함수는 문자열의 시작과 끝 부분에 있는 줄 종결자를 일치시킵니다.N:를 수정하는데 사용됩니다. (점) 문자는 줄 종결자와 일치합니다.안에:이는 Unix 전용 줄 끝을 나타냅니다.

다양한 예를 들어 이해해 보자.

다음 명령문은 MySQL의 REGEXP_REPLACE 함수의 기본 예를 설명합니다.

 mysql> SET @str = 'Javatpoint is a great websites'; mysql> SELECT @str AS 'Original String', REGEXP_REPLACE(@str, 'great', 'an educational') AS 'Replaceable String'; 

출력은 다음과 같습니다.

MySQL REGEXP_REPLACE() 함수

입력 문자열에 다음이 포함되어 있다고 가정합니다. 문자열 내에서 여러 일치 , 이 기능이 모든 항목을 대체합니다. 아래 설명을 참조하세요.

 mysql> SET @str = 'BCA MCA BBA BCA BBA'; mysql> SELECT @str AS 'Original String', REGEXP_REPLACE(@str, 'BBA', 'PGDCA') AS 'Replaceable String'; 

출력은 다음과 같습니다.

VLC 유튜브 비디오 다운로드
MySQL REGEXP_REPLACE() 함수

입력 문자열과 대체 가능한 문자열에 일치하는 항목이 없으면 명령문은 원래 문자열을 반환합니다. 아래 예를 참조하세요.

 mysql> SET @str = 'BCA MCA BBA BCA BBA'; mysql> SELECT @str AS 'Original String', REGEXP_REPLACE(@str, 'MBA', 'PGDCA') AS 'Resultant String'; 

출력은 다음과 같습니다.

MySQL REGEXP_REPLACE() 함수

문자열을 다음으로 바꾸고 싶다면 위치 지정 교체를 시작하려면 다음과 같이 REGEX_REPLACE 함수를 사용할 수 있습니다.

사업 분기
 mysql> SET @str = 'BBA BCA BBA BCA BBA'; mysql> SELECT @str AS 'Original String', REGEXP_REPLACE(@str, 'BBA', 'MCA', 2) AS 'Replaceable String'; 

이 명령문에서는 교체를 시작하기 위해 위치를 2로 지정했습니다. 이 쿼리를 실행하면 교체 가능한 문자열의 첫 번째 위치가 교체되지 않았음을 확인할 수 있는 아래 출력이 표시됩니다.

MySQL REGEXP_REPLACE() 함수

일치하는 문자열의 모든 항목이 기본적으로 대체된다는 것을 알고 있습니다. 그러나 일치하는 문자열을 대체하기 위해 특정 항목을 지정하는 옵션도 있습니다. 발생 매개변수. 아래 예를 참조하세요.

 mysql> SET @str = 'BBA BCA BBA BCA BBA'; mysql> SELECT @str AS 'Original String', REGEXP_REPLACE(@str, 'BBA', 'MCA', 2, 2) AS 'Replaceable String'; 

이 예에서 교체 가능한 문자열의 시작 위치는 첫 번째 발생이 시작된 이후에 나온 2입니다. 따라서 발생 2는 발생 1이 되고 발생 3은 발생 2가 됩니다. 아래 출력을 참조하세요.

MySQL REGEXP_REPLACE() 함수

일치 유형 인수를 사용하여 정규식을 구체화하기 위한 추가 매개변수를 제공할 수 있습니다. 예를 들어 , 일치 항목이 대소문자를 구분하는지 또는 줄 종결자를 포함하는지 확인하는 데 사용할 수 있습니다. 아래 예를 참조하여 대소문자 구분 그리고 대소문자를 구분하지 않는 일치:

 mysql> SET @str = 'BBA BCA BBA BCA BBA'; mysql> SELECT @str AS 'Original String', REGEXP_REPLACE(@str, 'bba', 'MCA', 1, 0, 'c') AS ' Case-Sensitive', REGEXP_REPLACE(@str, 'bba', 'MCA', 1, 0, 'i') AS ' Case-Insensitive'; 

출력은 다음과 같습니다.

MySQL REGEXP_REPLACE() 함수