MYSQL入门学习之二:使用正则表达式搜索_MySQL
正则表达式
bitsCN.com
MYSQL入门学习之二:使用正则表达式搜索
一、正则表达式介绍
正则表达式是用来匹配文本的特殊的串(字符集合)。
二、使用MySQL正则表达式
1、MySQL仅仅支持多数正则表达式实现的一个很小的子集。
2、LIKE匹配整个列值;而REGEXP匹配列值的子串,如果被匹配的文本在列值中出现,REGEXP将会找到它,相应的行将被返回。看下面的例子:
[sql]
mysql>select username from v9_admin where username like 'space';
Emptyset (0.00 sec)
mysql>select username from v9_admin where username REGEXP 'space';
+-----------+
|username |
+-----------+
|warmspace |
+-----------+
1 rowin set (0.02 sec)
3、默认MySQL中的正则表达式匹配不区分大小写,可使用BINARY关键字区分大小写,如
[sql]
mysql>select username from v9_admin
-> where username REGEXP BINARY'SPACCE';
Emptyset (0.04 sec)
4、进行OR匹配:为搜索两个串之一,使用|,如下所示:
[sql]
mysql>select roleid from v9_admin_role
-> where roleid REGEXP '1|3';
+--------+
|roleid |
+--------+
| 1 |
| 3 |
+--------+
2 rowsin set (0.00 sec)
5、匹配几个字符之一:匹配任何单一字符。如下所示:
[sql]
mysql>select name from v9_collection_node
-> where name REGEXP '005-[123]';
+-----------------+
|name |
+-----------------+
|101-02-01-005-2 |
|101-02-01-005-1 |
|101-02-01-005-3 |
+-----------------+
3 rowsin set (0.00 sec)
正如所见,[]是另一种形式的OR语句。'005-[123]'与’005-[1|2|3]’是等价的。
匹配除给定字符外的字符:
[sql]
mysql>select name from v9_collection_node
-> where name REGEXP '005-[^123]';
+-------------------+
|name |
+-------------------+
|101-02-01-005-4.2 |
|101-02-01-005-4 |
|101-02-01-005-5 |
+-------------------+
3 rowsin set (0.00 sec)
6、可使用-来定义一个范围。如[1-9],[a-b]。
[sql]
mysql>select name from v9_collection_node
-> where name REGEXP '005-[1-3]';
+-----------------+
|name |
+-----------------+
|101-02-01-005-2 |
|101-02-01-005-1 |
|101-02-01-005-3 |
+-----------------+
3 rowsin set (0.00 sec)
7、为了匹配特殊字符,必须用//为前导,例如//-,//.等。这种处理即转义(escaping)。
多数正则表达式实现使用单个反斜杠转义特殊字符,但MYSQL要求两个(MYSQL自己解释一个,正则表达式库解释另一个)。
//也用来引用元字符(具有特殊含义的字符),如下表:
8、为了更方便工作,可以使用预定义的字符集,称为字符类(character class)。
[sql]
mysql> select name fromv9_collection_node
-> where name REGEXP '[[:digit:]]';
+-------------------+
| name |
+-------------------+
| 101-10-01-002-1 |
| 101-02-01-005-4.2 |
| 101-02-01-005-2 |
| 101-02-01-005-1 |
| 101-02-01-005-3 |
| 101-02-01-005-4 |
| 101-02-01-005-5 |
| 101-10-01-002-2 |
| 101-11-04-001-1 |
+-------------------+
9 rowsin set (0.00 sec)
9、使用正则表达式重复元字符匹配多个实例:
[sql]
mysql> select name fromv9_collection_node
-> where name REGEXP '1{2}';
+-----------------+
| name |
+-----------------+
| 101-11-04-001-1 |
+-----------------+
1 rowin set (0.00 sec)
10、定位符(为了匹配特定位置的文本):
[sql]
mysql> select name from v9_collection_node
-> where name REGEXP '2$';
+-------------------+
| name |
+-------------------+
| 101-02-01-005-4.2 |
| 101-02-01-005-2 |
| 101-10-01-002-2 |
+-------------------+
3 rows in set (0.00 sec)
11、使REGEXP起类似LIKE的作用,它们的区别在于LIKE匹配整个串而REGEXP匹配子串。利用定位符,通过用^开始每个表达式,用$结束每个表达式。
12、简单的正则表达式测试:可以在不使用数据库表的情况下用SELECT来测试正则表达式。REGEXP检查总是返回0或1(匹配)。
[sql]
mysql> select 'hello' REGEXP'[0-9]';
+------------------------+
| 'hello' REGEXP '[0-9]' |
+------------------------+
| 0 |
+------------------------+
1 row in set (0.00 sec)
bitsCN.com

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











고급 프로그래밍 언어인 Python은 배우고 사용하기 쉽습니다. Python 프로그램을 작성해야 하면 필연적으로 구문 오류가 발생하며 표현식 구문 오류는 흔한 오류입니다. 이 기사에서는 Python에서 표현식 구문 오류를 해결하는 방법에 대해 설명합니다. 표현식 구문 오류는 Python에서 가장 일반적인 오류 중 하나이며 일반적으로 구문을 잘못 사용하거나 필요한 구성 요소가 누락되어 발생합니다. Python에서 표현식은 일반적으로 숫자, 문자열, 변수 및 연산자로 구성됩니다. 가장 흔한

C 또는 C++에서 쉼표 ","는 다른 용도로 사용됩니다. 여기서 우리는 그것들을 사용하는 방법을 배울 것입니다. 연산자로서의 쉼표. 쉼표 연산자는 첫 번째 피연산자를 평가하고 결과를 버린 다음 두 번째 피연산자를 평가하고 값을 반환하는 이항 연산자입니다. 쉼표 연산자는 C 또는 C++에서 우선순위가 가장 낮습니다. 예 #include<stdio.h>intmain(){ intx=(50,60); inty=(func1(),func2());} 여기서 60은 x에 할당됩니다. 다음 명령문에서는 func1(이 먼저 실행됩니다.

C 언어의 지수 함수 표현 작성 방법 소개 및 코드 예제 지수 함수란 수학에서 흔히 사용되는 함수 유형으로 f(x)=a^x 형식으로 표현됩니다. a는 밑수이고 x는 지수입니다. 지수 함수는 주로 지수 증가 또는 지수 붕괴를 설명하는 데 사용됩니다. 지수 함수의 코드 예 C 언어에서는 수학 라이브러리의 pow() 함수를 사용하여 지수 함수를 계산할 수 있습니다. 다음은 샘플 프로그램입니다.

Java의 람다 표현식 Java 8이 출시되면서 람다 표현식은 Java 개발자들 사이에서 가장 관심을 갖고 논의되는 주제 중 하나가 되었습니다. 람다 표현식은 Java 프로그래머의 지루한 작성 방법을 단순화하고 프로그램의 가독성과 유지 관리성을 향상시킬 수도 있습니다. 이 기사에서는 Java의 람다 표현식과 이 표현식이 Java 코드에서 더 간단하고 직관적인 프로그래밍 경험을 제공하는 방법에 대해 자세히 살펴보겠습니다.

람다 식은 컬렉션을 반복하는 데 편리하게 사용할 수 있는 익명 함수입니다. 이 문서에서는 람다 식을 사용하여 컬렉션을 반복하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. Python에서 람다 표현식의 구문 형식은 다음과 같습니다. 람다 매개변수 목록: 표현식 람다 표현식의 매개변수 목록에는 쉼표로 구분된 하나 이상의 매개변수가 포함될 수 있습니다. 표현식은 람다 함수의 반환 값입니다. 아래의 간단한 예를 살펴보겠습니다.

람다식의 소개 및 기본 구문 람다식은 함수 매개변수 목록, 콜론, 함수 본문으로 구성됩니다. 함수 매개변수 목록은 일반 함수와 동일하며, 함수 본문은 명령문 집합이 아닌 표현식입니다. #예: 두 개의 숫자를 받고 그 합계를 반환하는 함수 반환 sum=lambdax,y:x+y 람다 표현식의 애플리케이션 시나리오 람다 표현식은 콜백 함수, 필터 함수 및 매핑 함수로 사용하기에 매우 적합합니다. 콜백 함수: 콜백 함수는 다른 함수 내에서 호출되는 함수입니다. 람다 표현식을 사용하면 이름을 선언하지 않고도 콜백 함수를 쉽게 생성할 수 있습니다. 필터 기능: 필터 기능은 전체 내용을 필터링하는 데 사용됩니다.

이름에서 알 수 있듯이 람다 표현식은 화살표 기호(->)를 핵심으로 하는 익명 함수입니다. 이를 통해 코드 블록을 다른 메서드에 인수로 전달하거나 나중에 사용하기 위해 변수에 저장할 수 있습니다. 람다식 구문은 간결하고 이해하기 쉬우며 데이터 흐름 처리 및 병렬 컴퓨팅에 매우 적합합니다. 1. 람다식의 기본 구문 람다식의 기본 구문은 다음과 같습니다. (매개변수 목록)->{코드 블록} 그 중 매개변수 목록과 코드 블록은 선택 사항입니다. 매개변수가 하나만 있는 경우 괄호를 생략할 수 있습니다. 코드 블록이 한 줄이면 중괄호를 생략할 수 있습니다. 예를 들어 다음 코드 블록은 Lambda 표현식을 사용하여 숫자에 1을 더합니다.

컴퓨터 기술의 급속한 발전으로 프로그래밍 언어는 지속적으로 업그레이드되고 개선되고 있습니다. 그 중 일반적으로 사용되는 웹 개발 언어인 PHP는 끊임없이 혁신을 거듭하며 새로운 버전을 출시하고 있습니다. 최근에는 PHP8.0 버전이 출시되어 큰 관심을 끌었습니다. 그중에서도 새 버전에서는 예외 처리 메커니즘이 개선된 점이 많은 주목을 받았습니다. 이 기사에서는 PHP8.0의 표현식에 대한 try 문 블록 지원 주제에 중점을 둘 것입니다. 1. PHP8.0의 예외 처리 메커니즘 개선 이전 버전에서는 P
