>데이터 베이스 >MySQL 튜토리얼 >MySQL 정규식에서 캡처 그룹을 어떻게 참조합니까?

MySQL 정규식에서 캡처 그룹을 어떻게 참조합니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-04 02:05:29552검색

How do I Reference Capture Groups in MySQL Regular Expressions?

MySQL Regex에서 캡처 그룹 참조

MySQL에서 정규식으로 작업할 때 캡처 그룹을 참조하는 방법을 이해하는 것이 중요합니다. 캡처 그룹을 사용하면 문자열 내의 특정 패턴을 일치시키고 추출할 수 있습니다.

문제: 그룹을 참조할 수 없습니다

질문에서 사용자는 REGEXP '^ 표현식을 사용하여 반복 문자를 캡처하려고 시도합니다. (.)1$'. 그러나 이 시도는 캡처된 그룹을 올바르게 참조하지 못합니다.

해결 방법

MySQL 8 이상에서는 $1, $2 등을 사용하여 캡처 그룹을 참조할 수 있습니다. 다음 식은 패턴을 성공적으로 캡처하고 바꿉니다.

SELECT REGEXP_REPLACE('stackoverflow','(.{5})(.*)','');
-- "overflowstack"

여기서 (.{5})는 5개 문자의 시퀀스를 캡처하고 (.*)는 나머지 문자를 캡처합니다. 결과는 캡처된 그룹이 교환된 문자열입니다: "overflowstack"

MariaDB의 경우 캡처 그룹 참조에서는 \1, \2 등을 사용합니다.

SELECT REGEXP_REPLACE('stackoverflow','(.{5})(.*)','\2\1');
-- "overflowstack"

캡처 그룹 기억하세요 문자열의 특정 섹션을 대상으로 지정할 수 있으므로 MySQL 쿼리에서 패턴 일치 및 조작에 대한 유연성이 향상됩니다.

위 내용은 MySQL 정규식에서 캡처 그룹을 어떻게 참조합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.