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

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

Susan Sarandon
Susan Sarandon원래의
2024-11-04 03:59:02294검색

How do you reference capture groups in MySQL regex?

MySQL Regex에서 그룹 캡처

MySQL에서 정규식(regex)을 사용할 때 일치하는 텍스트의 특정 부분을 추출해야 하는 경우가 종종 있습니다. 캡처 그룹으로. 그러나 다른 언어와 달리 MySQL은 후속 정규식 작업에서 이러한 그룹을 참조하기 위한 직접적인 구문을 제공하지 않습니다.

질문:

캡처 그룹을 어떻게 참조할 수 있습니까? MySQL 정규식?

답변:

MySQL에서 캡처 그룹은 특수 표기법을 사용하여 참조됩니다. MySQL 8 이상 버전:

  • $n 구문이 사용됩니다. 여기서 n은 캡처 그룹의 번호입니다(예: 첫 번째 그룹의 경우 $1).

예:

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

이 정규 표현식은 두 그룹을 캡처합니다.

  1. 캡처 그룹(.{5})을 사용하는 처음 5개 문자
  2. 캡처 그룹(.*)을 사용하는 나머지 문자

REGEXP_REPLACE() 함수는 원래 문자열을 두 번째 그룹과 첫 번째 그룹으로 대체하여 효과적으로 첫 번째 문자열의 순서를 반대로 바꿉니다. 5자.

참고: MariaDB의 경우 캡처 참조 표기법이 약간 다르며 $1, $2 대신 1, 2 등을 사용합니다.

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

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