mysql正则匹配手机号
时间: 2023-09-04 21:15:16 浏览: 83
可以使用MySQL的正则表达式函数REGEXP来匹配手机号码,如下示例:
```sql
SELECT * FROM `table_name` WHERE `phone_number` REGEXP '^1[3-9]\\d{9}$';
```
解释:
* `^1[3-9]` 表示手机号码的前两位必须是1和3到9中的任意一个数字;
* `\\d{9}` 表示接下来的9位必须是数字;
* `$` 表示字符串的结尾。
因此,这个正则表达式可以匹配以1开头的11位数字串,即符合手机号码格式的字符串。
相关问题
mysql 正则匹配
在MySQL中,可以使用关键字REGEXP来进行正则表达式匹配。语法规则如下:SELECT column_name1 [, column_name2, … , column_namen] FROM table_name WHERE column REGEXP expr。[1]
当需要使用正则表达式查询数据时,只需要在WHERE条件中使用REGEXP关键字匹配相应的正则表达式即可。[2]
在正则表达式中,可以使用中括号来列出可匹配的值,也可以使用减号来表示范围匹配。例如,[0-9]表示匹配0到9的任意数字,[0-9a-zA-Z]表示匹配任意字母或数字。如果在中括号内的第一位加上^符号,表示匹配除了这些字符之外的任意字符。MySQL还定义了一些字符类,比如[:alnum:]用于匹配字母和数字。[3]
因此,通过使用REGEXP关键字和相应的正则表达式,可以在MySQL中进行正则匹配操作。
mysql 正则匹配字符串
MySQL正则表达式可以使用关键字REGEXP来进行匹配。在正则表达式中,可以使用一些特殊字符和符号来描述匹配规则。例如,^表示匹配字符串的开头,$表示匹配字符串的末尾,.表示匹配任意字符,除了换行符。[...]用来表示一组字符,可以使用-来表示范围匹配,例如[0-9]表示匹配0到9的数字。[^...]表示不在[]中的字符。*表示匹配0个或多个的表达式,+表示匹配1个或多个的表达式,?表示匹配0个或1个由前面的正则表达式定义的片段。{n}表示精确匹配n个前面的表达式,{n,}表示匹配n个或更多个前面的表达式,{n,m}表示匹配n到m次前面的表达式。还可以使用|表示或,()表示一个组。[2]
所以,如果你想在MySQL中进行正则匹配字符串,可以使用REGEXP关键字结合上述的正则表达式符号来实现。