하이픈 문자를 사용하여 범위를 지정할 수 있습니다. 숫자 범위를 지정하는 예는 다음과 같습니다: 다음은 입력 문자열이 정규식과 일치하지 않는 예입니다. 예를 들어 정규식 hello |월드에는 | 을 원하거나 세계와 일치합니다. 정규식은 문자열 집합을 설명합니다. 가장 간단한 정규표현식은 특별한 문자가 없는 표현식입니다. 예를 들어 정규식 hello는 hello와 일치하며 다른 것은 없습니다. 그러나 찾고 있는 문자를 알고 있는 경우 다음 예제에서 설명한 대로 해당 문자(. 문자 대신)를 지정할 수 있습니다. 정규식의 약어는 정규식 또는 정규식입니다. 이 예제에서 정규식은 처음 두 예제에서 사용된 “초밥” 문자 🍣(U+1F363)과 같이 문자열이 Co. Emoji로 시작해야 함을 지정하고 기본 다국어 평면에 포함되지 않고 유니코드의 보충 어큘러에 포함되도록 지정합니다. 다국어 평면입니다. REGEXP_SUBSTR() 또는 유사한 함수가 문자 가운데에서 검색을 시작할 때 이모티콘 및 기타 4바이트 문자로 인해 또 다른 문제가 발생할 수 있습니다.

다음 예제의 두 문은 각각 첫 번째 인수의 두 번째 2바이트 위치에서 시작됩니다. 첫 번째 문은 2바이트(BMP) 문자로만 구성된 문자열에서 작동합니다. 두 번째 문에는 처음 두 바이트가 제거되고 나머지 문자 데이터가 잘못 정렬되므로 결과에서 잘못 해석되는 4바이트 문자가 포함되어 있습니다. ^ 문자를 사용하여 지정된 문자 범위가 제외되도록 이전 예제를 수정할 수 있습니다. 전체 단어를 검색하는 또 다른 예: 패턴은 정규식 구문에서 설명하는 확장된 정규식일 수 있습니다. 패턴이 리터럴 문자열일 필요는 없습니다. 예를 들어 문자열 식 또는 테이블 열로 지정할 수 있습니다. MySQL은 문자열에서 C escape 구문을 사용하기 때문에 (예 : n은 줄 바호 문자를 나타내기 위해) expr 및 pat 인수에서 사용하는 를 두 배로 늘려야합니다. 그래서 우리는 이전 예제와 반대의 결과를 얻습니다.

선택적 match_type 인수를 사용하면 정규식을 구체화할 수 있습니다. 예를 들어 match_type을 사용하여 대/소문자 구분 일치 여부(예: 일치 엔진은 단계적으로 작동합니다. 엔진에서 수행하는 최대 단계 수(따라서 간접적으로 실행 시간)를 제어하려면 regexp_time_limit 시스템 변수를 설정합니다. 이 제한은 단계 수로 표현되므로 실행 시간에간접적으로만 영향을 줍니다. 일반적으로 밀리초 의 순서입니다. 이 경우 네 번째 단어는 이전 예제와 다른 결과를 반환합니다. 예를 들어 다음 문은 제품 이름 의 시작 부분에 있는 대문자 “C”만 일치합니다. 이전 예제를 수정하여 0또는 원하는 문자 중 하나에서만 일치되도록 할 수 있습니다. 이렇게 하려면 ?: 반복 횟수({n} 및 {m,n} 표기법의 경우)를 사용하며, Spencer 라이브러리의 최대 255개입니다. iCU에는 이러한 제한이 없지만 regexp_time_limit 시스템 변수를 설정하여 최대 일치 엔진 단계 수를 제한할 수 있습니다. (^가 사용되는 경우) a, b, c, d 또는 X인 모든 문자와 일치합니다.

A – 다른 두 문자 사이의 문자는 첫 번째 문자에서 두 번째 문자까지 모든 문자와 일치하는 범위를 형성합니다. 예를 들어[0-9]는 소수 자릿수와 일치합니다. 리터럴]문자를 포함하려면 즉시[여는 괄호를 따라야 합니다.