반응형
mariadb REGEXP_INSTR은 괄호를 사용할 때 0 또는 1을 반환합니다.
MariaDB Documentation은 REGEXP_INSTR에 대해 말합니다. 문자열 제목에서 정규식 패턴이 처음 발생한 위치를 반환하거나 패턴을 찾을 수 없는 경우 0을 반환합니다.
제 과제는 (간소화) o 뒤에 쌍자음을 찾는 것입니다.
SELECT REGEXP_INSTR('a_kollision', 'o([lm])\\1'); # -> expected 4 got 1
반품은 1번이지만 ol의 위치는 4번으로 예상했습니다.
교체 작업에서도 동일한 작업 수행:
# replace works as expected
SELECT REGEXP_REPLACE('a_kollision', 'o([lm])\\1', '???'); # -> a_k???ision -- OK
REGEXP_INSTR에서 브래킷을 사용할 때 문제가 시작되는 것 같습니다.
SELECT REGEXP_REPLACE('a_kollision', 'oll', '???'); # -> a_k???ision -- OK
SELECT REGEXP_REPLACE('a_kollision', '(oll)', '???'); # -> a_k???ision -- OK
SELECT REGEXP_INSTR('a_kollision', 'oll'); # -> 4 -- OK
SELECT REGEXP_INSTR('a_kollision', '(oll)'); # -> 1 -- why?
일치하는 것이 없으면 REGEXP_INSTR은 예상대로 0을 반환합니다.
사용 db : 10.1.13
최신 안정 버전으로 확인 : 10.2.6 차이 없음
언급URL : https://stackoverflow.com/questions/44229219/mariadb-regexp-instr-returns-0-or-1-when-using-brackets
반응형
'bestsource' 카테고리의 다른 글
사용자 기본값에 대한 NS코딩으로 사용자 지정 Swift 클래스 저장 (0) | 2023.11.05 |
---|---|
MySQL 워크벤치와 MAMP PRO를 연결하는 방법은? (0) | 2023.11.05 |
argv 포인터를 글로벌하게 사용해도 안전합니까? (0) | 2023.11.05 |
Woocommerce 3 전용 주문 제작 후크 (0) | 2023.10.31 |
웹 브라우저 제어 기능이 있는 Excel 사용자 지정 작업 창 - 키보드/초점 문제 (0) | 2023.10.31 |