MySQL正则表达式匹配

1. 基本字符匹配:
select title from t_table where title REGEXP '51dev';
检索title 中包含文本51dev的所有行。

select title from t_table where title REGEXP '.51dev';
.在正则表达式中表示匹配任意一个字符。

2. 进行OR匹配:
select title from t_table where title REGEXP '51dev|dev51';
检索title 中包含文本51dev或dev51的所有行。

3. 匹配几个字符之一:
select title from t_table where title REGEXP '[123] Ton';
[123]定义一组字符,它的意思是匹配1或2或3。

select title from t_tablewhere title REGEXP '[1-3] Ton';
-用来定义一个范围。

4. 匹配特殊字符:
匹配特殊字符,必须用为前导,-表示查找-,.表示查找.

5. 匹配多个实例:
*: 0个或多个匹配;
+:1个或多个匹配(等于{1,});
?:0个或1个匹配(等于{0,1});
{n}:指定数目的匹配;
{n,}:不少于指定数目的匹配;
{n,m}:匹配数目的范围(m不超过255)。

6. 定位符:
^:文本的开始;
$:文本的结尾;
[[:<:]]:词的开始;
[[:>:]]:词的结尾;
^在集合中:用来否定该集合,例如[^0-9],表示不匹配数字 

你可能感兴趣的