MySQL REGEXP에서 \'#1139 오류: 잘못된 반복 연산자 피연산자\'가 발생하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

Susan Sarandon
풀어 주다: 2024-11-23 15:25:13
원래의
682명이 탐색했습니다.

Why Does MySQL REGEXP Throw

#1139 오류: 정규식의 잘못된 반복 연산자 피연산자

특정 항목을 선택하기 위해 정규식(regex)으로 MySQL 테이블을 쿼리할 때 결과적으로 사용자에게 "#1139 - '반복 연산자 피연산자가 유효하지 않음' 오류가 발생하는 경우가 있습니다. regexp." 이 오류는 제공된 정규식에 잘못된 반복 연산자 피연산자가 포함되어 있음을 나타냅니다.

원인:

MySQL이 Henry Spencer의 POSIX-를 사용하기 때문에 오류가 발생합니다. 정규식의 호환 구현. 이 구현은 PCRE(Perl Compatible Regular Expressions)에 사용되는 "?"와 같은 탐욕적이지 않은 수량자를 지원하지 않습니다. 따라서 정규식에서 "*" 또는 " " 뒤에 "?"를 사용하면 오류가 발생합니다.

해결책:

이 문제를 해결하려면 non - 탐욕스러운 수량자 "?" 탐욕스러운 수량자 "*"를 사용하면 필요한 일치 작업이 수행됩니다.

SELECT text
FROM `articles`
WHERE content REGEXP '.*<img[^>]*src="http://www'
ORDER BY date DESC
로그인 후 복사

추가로 또는

인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿