>  기사  >  백엔드 개발  >  PHP에서 퍼지 쿼리를 구현하는 방법

PHP에서 퍼지 쿼리를 구현하는 방법

coldplay.xixi
coldplay.xixi원래의
2020-08-20 09:46:473937검색

PHP에서 퍼지 쿼리를 구현하는 방법: 1. SQL 일치 모드를 사용하고 연산자는 LIKE 또는 NOT LIKE를 사용해야 합니다. 일치 시 대소문자를 구분하지 않습니다. 2. 정규식 일치 모드를 사용하면 해당 정규식이 나타납니다. 필드 어디든 매칭이 가능합니다.

PHP에서 퍼지 쿼리를 구현하는 방법

【관련 학습 추천: php 프로그래밍(동영상)】

PHP에서 퍼지 쿼리 구현 방법:

방법 1: SQL 매칭 패턴

1. , 연산자 = 또는 를 사용할 수 없습니다! = 대신 LIKE 또는 NOT LIKE 연산자를 사용하세요. =!=,而是使用操作符LIKE或NOT LIKE;

2.使用sql匹配模式,MYSQL提供了2种通配符。

  • %表示任意数量的任意字符(其中包括0个)

  • _表示任意单个字符

3.使用sql匹配模式,如果匹配格式中不包含以上2种通配符中的任意一个,其查询的效果等同于=或!=

4.使用sql匹配模式,匹配时,不区分大小写

#查询用户名以某个字符开头的用户
#查询用户名以字符'l'开头的用户: l%
SELECT * FROM user WHERE username LIKE 'l%';
#查询用户名以某个字符结尾的用户
#查询用户名以字符'e'结尾的用户:e%
SELECT * FROM user WHERE username LIKE 'e%';
#查询用户名包含某个字符的用户
#查询用户名包含字符'o'的用户:%o%
SELECT * FROM user WHERE username LIKE '%o%';
#查询包含三个字符的用户
SELECT * FROM user WHERE username LIKE '___';
#查询用户名第二个字符为o的用户:_o%
SELECT * FROM user WHERE username LIKE '_o%';

方法2:正则表达式匹配模式

通配符(正则表达式)

.匹配任意的单个字符

*匹配0个或多个在它前面的字符

x*表示匹配任何数量的x字符

  •     [..]匹配中括号中的任意字符

  •     [abc]匹配字符ab或c

  •     [a-z]匹配任意字母

  •     [0-9]匹配任意数字

  •     [0-9]*匹配任意数量的任何数字

  •     [a-z]*匹配任何数量的字母

^表示以某个字符或字符串开始

    ^a 表示以字母a开头

$表示以某个字符或字符串结尾

    s$表示以字母s结尾

使用正则表达式匹配模式使用的操作符是:

REGEXP NOT REGEXP

2. SQL 일치 모드를 사용하면 MYSQL은 두 가지 유형의 와일드카드 문자를 제공합니다.

  • %는 모든 문자 수를 나타냅니다(0 포함)

  • _는 임의의 단일 문자를 나타냅니다

3. 일치 형식에 위의 두 와일드카드 문자가 포함되어 있지 않으면 쿼리 효과는 = 또는와 동일합니다. ! =

4. 일치 시 sql 일치 패턴을 사용합니다.

SELECT * FROM user WHERE username REGEXP '^l';
#sql匹配模式写法:
SELECT * FROM user WHERE username LIKE 'l%';
#查询用户名正好是三个字符的用户:^...$;
#sql匹配模式写法:
SELECT * FROM user WHERE username LIKE '___';
#正则表达式写法
SELECT * FROM user WHERE username REGEXP '^...$';

방법 2: 정규식 일치 패턴

와일드카드(정규식)

.는 무엇이든 일치합니다. 단일 문자

*는 그 앞에 있는 0개 이상의 문자와 일치합니다.

x*는 임의 개수의 x 문자와 일치함을 의미합니다

[..] 괄호 안의 모든 문자와 일치

  • [abc] ab 또는 c 문자와 일치🎜
  • 🎜 [ a-z] 모든 문자와 일치 🎜
  • 🎜 [0-9] 모든 숫자와 일치🎜
  • 🎜 [0-9]* 모든 숫자와 일치🎜
  • 🎜 [a-z] *는 임의 개수의 문자와 일치합니다🎜
  • 🎜^는 특정 문자 또는 문자열로 시작한다는 의미입니다🎜🎜 ^a는 문자 a로 시작한다는 의미입니다 🎜 🎜$는 특정 문자나 문자열로 끝나는 것을 의미합니다. 🎜🎜 s$는 문자 s로 끝나는 것을 의미합니다. 🎜🎜정규 표현식을 사용하여 패턴을 일치시키는 데 사용되는 연산 기호는 다음과 같습니다. 🎜🎜 REGEXP 또는 NOT REGEXP (RLIKE 또는 NOT RLIKE)🎜🎜참고: 정규식 일치 패턴, 해당 정규식은 일치 필드의 어느 곳에나 나타납니다. 🎜🎜패턴이 일치하더라도 , 일치시키기 위해 양쪽에 와일드카드 문자를 넣을 필요가 없습니다. 🎜🎜 N을 가정하여 일치시키기 위해 와일드카드 문자만 사용하는 경우 일치하는 패턴은 N보다 크거나 같음을 의미합니다. 🎜이해하는 방법 위 문장은 어떻습니까? 🎜🎜즉🎜🎜... 3자 이상의 데이터와 일치🎜🎜.... 4자 이상의 데이터와 일치🎜🎜#사용자 이름이 해당 문자로 시작하는 사용자를 쿼리합니다. l: ^l;🎜🎜# 정규식 쓰기🎜rrreee🎜🎜관련 추천: 🎜프로그래밍 비디오 강좌🎜🎜🎜

    위 내용은 PHP에서 퍼지 쿼리를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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