zoukankan      html  css  js  c++  java
  • MariaDB 正则

    MariaDB 正则

    匹配规则

    MariaDB <wbr>正则




    ----------------------------------------------------------------

    Class      Description

    ----------------------------------------------------------------

    [:alnum:]  Any letter or digit, (same as [a-zA-Z0-9])

    [:alpha:]  Any letter (same as [a-zA-Z])

    [:blank:]  Space or tab (same as [\t ])

    [:cntrl:]  ASCII control characters (ASCII 0 through 31 and 127) 

    [:digit:]  Any digit (same as [0-9])

    [:graph:]  Same as [:print:] but excludes space

    [:lower:]  Any lowercase letter (same as [a-z])

    [:print:]  Any printable character

    [:punct:]  Any character that is neither in [:alnum:] nor [:cntrl:]

    [:space:]  Any whitespace character including the space (same as [\f\n\r\t\v ])

    [:upper:]  Any uppercase letter (same as [A-Z])

    [:xdigit:] Any hexadecimal digit (same as [a-fA-F0-9]) 


    ----------------------------------------------------------------


    ------------------------------------------------------

    Metacharacter Description

    ------------------------------------------------------

    * 0 or more matches

    + 1 or more matches (equivalent to {1,})

    ? 0 or 1 match (equivalent to {0,1})

    {n} Specific number of matches

    {n,} No less than a specified number of matches 

    {n,m} Range of matches (m not to exceed 255)

    ------------------------------------------------------


    -----------------------------

    Metacharacter Description

    -----------------------------

    ^ Start of text 

    $ End of text 

    [[:<:]] Start of word 

    [[:>:]] End of word


     

    -----------------------------


     


    示例

    包含字符串1000

    (jlive)[crashcourse]>SELECT prod_name FROM products WHERE prod_name REGEXP '1000' ORDER BY prod_name;

    +--------------+

    | prod_name    |

    +--------------+

    | JetPack 1000 |

    +--------------+

    1 row in set (0.00 sec)

    包含字符串,000前有一个任意字符

    (jlive)[crashcourse]>SELECT prod_name FROM products WHERE prod_name REGEXP '.000' ORDER BY prod_name;

    +--------------+

    | prod_name    |

    +--------------+

    | JetPack 1000 |

    | JetPack 2000 |

    +--------------+


    2 rows in set (0.00 sec)

    包含字符串10002000

    (jlive)[crashcourse]>SELECT prod_name FROM products WHERE prod_name REGEXP '1000|2000' ORDER BY prod_name;

    +--------------+

    | prod_name    |

    +--------------+

    | JetPack 1000 |

    | JetPack 2000 |

    +--------------+


    2 rows in set (0.00 sec)



    匹配列表中的值和后面的字符串组合

    (jlive)[crashcourse]>SELECT prod_name FROM products WHERE prod_name REGEXP '[1-5] Ton' ORDER BY prod_name;

    +--------------+

    | prod_name    |

    +--------------+

    | .5 ton anvil |

    | 1 ton anvil  |

    | 2 ton anvil  |

    +--------------+


    3 rows in set (0.00 sec)


    匹配非空

    (jlive)[crashcourse]>SELECT vend_name FROM vendors WHERE vend_name REGEXP '.' ORDER BY vend_name;

    +----------------+

    | vend_name      |

    +----------------+

    | ACME           |

    | Anvils R Us    |

    | Furball Inc.   |

    | Jet Set        |

    | Jouets Et Ours |

    | LT Supplies    |

    +----------------+

    6 rows in set (0.00 sec)

    匹配特殊字符.

    (jlive)[crashcourse]>SELECT vend_name FROM vendors WHERE vend_name REGEXP '\.' ORDER BY vend_name;

    +--------------+

    | vend_name    |

    +--------------+

    | Furball Inc. |

    +--------------+


    1 row in set (0.00 sec)




    (jlive)[crashcourse]>SELECT prod_name FROM products WHERE prod_name REGEXP '\([0-9] sticks?\)' ORDER BY prod_name;

    +----------------+

    | prod_name      |

    +----------------+

    | TNT (1 stick)  |

    | TNT (5 sticks) |

    +----------------+


    2 rows in set (0.00 sec)


    (jlive)[crashcourse]>SELECT prod_name FROM products WHERE prod_name REGEXP '^[0-9\.]' ORDER BY prod_name;

    +--------------+

    | prod_name    |

    +--------------+

    | .5 ton anvil |

    | 1 ton anvil  |

    | 2 ton anvil  |

    +--------------+

    3 rows in set (0.00 sec)

    (jlive)[crashcourse]>SELECT prod_name FROM products WHERE prod_name REGEXP '[[:digit:]]{4}' ORDER BY prod_name;

    +--------------+

    | prod_name    |

    +--------------+

    | JetPack 1000 |

    | JetPack 2000 |

    +--------------+

    2 rows in set (0.01 sec)

    查询结果与下面两条相同

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


  • 相关阅读:
    linux下文件搜索命令学习笔记
    【转】C++格式化输出
    UNIX中的文件类型
    Unix内核中打开文件的表示
    网络编程学习笔记:linux下的socket编程
    TCP协议学习笔记(一)首部以及TCP的三次握手连接四次挥手断开
    C/C++源代码从写完到运行发生了什么
    C++ 函数形参发生动态绑定时指针增长步长与静态类型一致
    C++中为什么要将析构函数定义成虚函数
    C++求一个十进制的二进制中1的个数
  • 原文地址:https://www.cnblogs.com/lixuebin/p/10814194.html
Copyright © 2011-2022 走看看