正则表达式REGEXP

REGEXP在列值内进行匹配,只要被匹配的文本在列值中出现,相应行就能被返回,但是like只能匹配整个列

1.1 or匹配

| 为正则表达式的OR操作符,表示匹配其中之一

e.g.

select prod_name from products

where prod_name REGEXP '1000|2000'

1.2匹配几个字符之一

 [] 是另外一种形式的OR语句,[123]匹配字符1、2、3

1.3匹配范围

- 用来定义一个范围 [0-9] 匹配数字0到9;[a-z]匹配26个小写字母

1.4匹配特殊字符

. [] | -\ 都是特殊字符,为了匹配这些特殊字符,要用\\为前导,\\-表示查找-,\\.表示查找.,\\\表示匹配\

\\也用来引用元字符(具有特殊意义的字符)

e.g.元字符

\\f  换页

\\n  换行

\\r  回车

\\t  制表

\\v  纵向制表

1.5匹配字符类

字符类

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

[:alpha:]  任意字符,同[a-zA-Z]

[:blank:]  空格和制表,同[\\t]

[:cntrl:]  ASCII控制字符,ASCII 0到31和127

[:digit:]  任意数字

[:graph:]  与[:print:]相同,但不包含空格

[:lower:]  任意小写字母

[:print:]  任意可打印字符

[:punct:]  既不在[:alnum:]也不在[:cntrl:]中的任意字符

[:space:]  包括空格在内的任意空白字符

[:upper:]  任意大写字符

[:xdigit:]  任意十六进制数字

7.6匹配多个实例

重复元字符

*  0或多个匹配

+  1个或多个匹配,等于{1,}

?  0个或1个匹配,等于{0,1}

{n}  指定数目的匹配

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

{n,m}  匹配数目的范围,m不超过255

7.7定位符

 定位元字符

^  文本的开始

$  文本的结尾

[[:<:]]  词的开始

[[:>:]]  词的结束

posted @ 2017-09-17 20:16  果壳里的星星  阅读(156)  评论(0编辑  收藏  举报