>  기사  >  데이터 베이스  >  MySql의 정규식 쿼리 사용 소개

MySql의 정규식 쿼리 사용 소개

黄舟
黄舟원래의
2017-07-20 14:43:151460검색

Mysql은 REGEXP 키워드를 사용하여 정규식의 문자 일치 패턴을 지정합니다. 다음으로 이 글을 통해 MySql에서 정규식 쿼리를 사용하는 방법을 공유하겠습니다. 관심 있는 친구들은 함께 살펴보시기 바랍니다. 정규식은 매직 시드 패턴에 맞는 텍스트를 검색하고 바꾸는 데 흔히 사용됩니다. 예를 들어 텍스트 파일에서 전화번호를 추출하거나, 기사에서 반복되는 단어를 찾거나, 사용자가 입력한 특정 민감한 단어를 바꿉니다. Mysql은 REGEXP 키워드를 사용하여 정규식의 문자 일치 패턴을 지정합니다.


Directory1. '^' 문자는 특정 문자나 문자열로 시작하는 레코드를 쿼리합니다.

SELECT * FROM user WHERE email REGEXP '^a'

문자 '^'는 특정 문자나 문자열로 시작하는 레코드와 일치합니다. 위 명령문 쿼리 사서함이

2로 시작하는 레코드. ' 문자는 특정 문자나 문자열로 끝나는 레코드를 쿼리합니다.

SELECT * FROM user WHERE phone REGEXP '0$'

문자 '$'는 특정 문자나 문자열로 끝나는 레코드와 일치합니다. 0개의 레코드로 끝나는 메일함을 쿼리합니다.

3. 문자열의 문자를 바꾸려면 "."을 사용하세요. a와 c 사이에 문자가 1개인 레코드를 쿼리하는 것은 a와 같습니다. 자리 표시자. REGEXP 'a..c'로 쓰면, 즉 a와 c 사이에 점이 두 개 있다는 것은 메일박스에 a와 c 사이에 두 개의 문자가 있어야 한다는 뜻이다.

4. 여러 문자를 일치시키려면 "*"를 사용하세요


SELECT * FROM user WHERE email REGEXP 'a.c'

모든 사서함에서 m이 포함된 레코드를 검색하세요.

SELECT * FROM user WHERE email REGEXP 'm*'

이메일 주소가 문자 a로 시작하고 뒤에 문자 m이 오는 레코드를 검색합니다. 여기서 '*'는 0회 이상을 의미합니다.

5. 문자 "+"를 사용하여 다음 문자


SELECT * FROM user WHERE email REGEXP '^am*'

를 사용하면 사서함에 m이 포함된 모든 레코드를 쿼리할 수 있습니다.

SELECT * FROM user WHERE email REGEXP 'm+'

이메일 주소가 a로 시작하고 그 뒤에 m이 오는 레코드를 쿼리합니다. 여기서 '+'는 다음 문자를 의미합니다.

6. "|"로 구분된 조건은 지정된 문자열과 일치합니다.


SELECT * FROM user WHERE email REGEXP '^am+'

정규식은 지정된 문자열과 일치할 수 있으며 문자열은 "|"로 구분됩니다.

7. "[]"는 집합이 지정된 문자열 중 하나와 일치함을 의미합니다.


SELECT * FROM user WHERE email REGEXP 'qq.com|163.com'

"[]"는 집합을 지정하며 위의 내용은 쿼리 사서함에 a 또는 z 또는 둘 다 포함된 사서함이 포함되어 있음을 의미합니다. 예를 들어, [0-9]는 설정된 간격의 모든 숫자를 나타내고, [a-z]는 설정된 간격의 모든 문자를 나타냅니다.

8. "[^]"는 지정된 문자 이외의 문자와 일치합니다.


SELECT * FROM user WHERE email REGEXP '[az]'

위에 표시된 것처럼 일치하는 사서함에는 a, b, c, d가 포함되지 않으며 1, 2, 3 레코드가 포함되지 않습니다.

9. 문자열 연결 발생 횟수를 지정하려면 {n,} 또는 {n,m}을 사용하세요.


SELECT * FROM user WHERE email REGEXP '[^a-d1-3]'

는 문자 b가 2번 이상 나타나는 것을 의미합니다.

SELECT * FROM user WHERE email REGEXP 'b{2}'

은 ba라는 문자열이 적어도 한 번, 최대 3번 나타난다는 뜻입니다.

요약

위 내용은 MySql의 정규식 쿼리 사용 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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