在SQL语句中使用正则表达式

来源:互联网 发布:软件开发与设计 编辑:程序博客网 时间:2024/05/01 11:42

MySQL利用REGEXP命令提供给用户扩展的正则表达式功能,REGEXP实现的功能类似UNIX上的GREP和SED的功能,并且REGEXP在进行模式匹配时是区分大小写的。熟悉并掌握REGEXP的功能可以使模式匹配工作事半功倍。

  1. 正则表达式的模式说明
    ^ 在字符串的开始处进行匹配
    $ 在字符串的末尾处进行匹配
    . 匹配任意单个字符,包括换行符
    […] 匹配出括号内的任意字符
    [^…] 匹配不出括号内的任意字符
    a* 匹配零个或多个a(包括空串)
    a+ 匹配1个或多个a(包括空串)
    a? 匹配零个或1个a(包括空串)
    a1|a2 匹配a1或a2
    a(m) 匹配m个a
    a(m,) 匹配m个或更多个a
    a(m,n) 匹配m到n个a
    a(,n) 匹配0到n个a
    (…) 将模式元素组成单一元素

    举例

    1. “^”在字符串的开始处进行匹配,返回结果为1表示匹配,返回结果为0表示不匹配,下例中尝试匹配字符串”abcdefg”是否以字符”a”开始。

这里写图片描述
2. “$”在字符串的末尾进行匹配,下例中尝试匹配字符串”abcdefg”是否以字符”g”结束。

这里写图片描述
3. “.”匹配任意字符,包括换行符。下例中字符串”abcdefg”尝试匹配单字符”h”和”f”.

这里写图片描述
4. “[…]”匹配出括号内的任意字符。下例中字符串”abcdefg”尝试匹配”fhk”中的任意一个字符,如果有一个字符能匹配上,则返回1.

这里写图片描述
5. [^…]匹配不出括号内的任意字符。下例中字符串”efg”和”X”中如果有任何一个字符匹配不上”[XYZ]”中的任意一个字符,则返回0,如果全能匹配上则返回1.

这里写图片描述

0 0
原创粉丝点击