2018/08/14-- mysql数据库

SELECT prod_name FROM products WHERE prod_name REGEXP '\\([0-9] sticks?\\)';

SELECT prod_name FROM products WHERE prod_name REGEXP '[[:digit:]]{4}';

SELECT prod_name FROM products WHERE prod_name REGEXP '[0-9]{4}';

SELECT prod_name FROM products WHERE prod_name REGEXP '[0-9][0-9][0-9][0-9]';

SELECT prod_name FROM products WHERE prod_name REGEXP '[[:upper:]]{2}';

SELECT prod_name FROM products WHERE prod_name REGEXP '[[:lower:]]{4}';

SELECT prod_name FROM products WHERE prod_name REGEXP '[[:alpha:]]{7}';

SELECT prod_name FROM products WHERE prod_name REGEXP '[[:alnum:]]{7}';

SELECT prod_name FROM products WHERE prod_name REGEXP '^[0-9\\.]';

SELECT Concat(vend_name,' (',vend_country,')') FROM vendors ORDER BY vend_name;

SELECT Concat(RTrim(vend_name),' (',RTrim(vend_country),')') FROM vendors ORDER BY vend_name;

正则表达式中的字符类

[:digit:]:任意数字,同[0-9]

[:lower:]: 任意小写字母,同[a-z]

[:upper:]:任意大写字母,同[A-Z]

[:alnum:]:任意大小写字母和数字,同[a-zA-Z0-9]

[:alpha:]:任意大小写字母,同[a-zA-Z]

正则表达式中的重复元字符

*:o个或多个匹配

+:1个或多个匹配

?:0个或1个匹配

{n}:指定数目的匹配

{n}:不少于指定数目的匹配

{n,m}:匹配数目的范围

正则表达式中的定位符

^:文本的开始

$:文本的结束

WHERE prod_name REGEXP '\\([0-9] sticks?\\)';

\\(:'(' 的转义

\\):')'的转义

sticks?:'s'出现0次或1次

'?'匹配它前面的任意字符出现0次或1次

SELECT prod_name FROM products WHERE prod_name REGEXP '\\([0-9] sticks?\\)';

搜索结果如下:

prod_name
TNT (1 stick)
TNT(2 sticks)

SELECT prod_name FROM products WHERE prod_name REGEXP '[[:digit:]]{4}';

SELECT prod_name FROM products WHERE prod_name REGEXP '[0-9]{4}';

SELECT prod_name FROM products WHERE prod_name REGEXP '[0-9][0-9][0-9][0-9]';

搜索的结果为:

prod_name

JetPack 1000
JetPack 2000

SELECT prod_name FROM products WHERE prod_name REGEXP '^[0-9\\.]';

以数字和小数点为开头的字符串

搜索结果为:

prod_name
.5 ton anvil
1 ton anvil
2 ton anvil

猜你喜欢

转载自blog.csdn.net/qzw752890913/article/details/81672823
今日推荐