目录
数据:
Java开发工程师
Java工程师
海外BD岗
移动web研发工程师
DBA工程师
JAVA高级开发工程师
PHP开发工程师
android资深开发经理
课程顾问/sales manager
EPM
认证工程师
品牌总监
分时租赁总经理
销售总经理
硬件测试工程师
薪酬管理岗
算法工程师
大区销售总监
财务经理
研发总监
110100
110100
130100
130100
160100
200500
160100
110100
110100
110100
4849
4696
4861
4741
4593
4741
0
0
0
4523
0
0
4523
0
3720
1:匹配数字
数字在0到3位
select * from tmp.testregexp where name rlike '^\\d{0,3}$';
0
181
0
181
181
181
181
...
数字固定有6位
select * from tmp.testregexp where name rlike '^\\d{6}$';
957031
957031
957031
100014
100014
957031
...
第二位为数字6的,有且只有两位数
select * from tmp.testregexp where name rlike '^\\d[6]$';
56
26
26
26
66
26
16
...
第二位为数字6的,但不只有两位数
select * from tmp.testregexp where name rlike '^\\d[6]\\d+$';
26532
26799
26799
26495
9661
9664
26601
26978
...
第二位为数字6的,后边再追加1到2位数字
select * from tmp.testregexp where name rlike '^\\d[6]\\d{0,2}$';
8642
161
8699
165
5689
8604
5626
8669
...
qt:
输出 true:
SELECT '123456' rlike '^\\d+$';
SELECT '0' rlike '^\\d+$';
SELECT '1234567890' rlike '^\\d+$';
输出false:
SELECT '123456a' rlike '^\\d+$';
SELECT 'aa123' rlike '^\\d+$';
SELECT '中文123' rlike '^\\d+$';
SELECT 'aaff中' rlike '^\\d+$';
手机号|邮箱中含有手机号的邮箱
数据展示:
匹配的语句为:
select email from os.users where split(email,'@')[0] rlike '^0?1[3456798]\\d{9}$' limit 10
2:匹配中文
纯中文(不含有英文和数字的)
select * from tmp.testregexp WHERE name not REGEXP '[u0391-uFFE5]'
结果:
认证工程师
品牌总监
分时租赁总经理
销售总经理
硬件测试工程师
薪酬管理岗
算法工程师
大区销售总监
财务经理
研发总监
含有中文的(只要含有汉字都可以)
select * from tmp.testregexp where regexp(name,'[\\u4E00-\\u9FFF]+')
Java开发工程师
Java工程师
海外BD岗
移动web研发工程师
DBA工程师
JAVA高级开发工程师
PHP开发工程师
android资深开发经理
课程顾问/sales manager
认证工程师
品牌总监
分时租赁总经理
...
不含有中文
select * from tmp.testregexp where not regexp(name,'[\\u4E00-\\u9FFF]+')
EPM
110100
110100
130100
130100
160100
200500
160100
...
3:匹配英文
只包含小写英文
select * from tmp.testregexp where name rlike '[a-z]+'
结果:
java
python
java
...
不含有任何小写英文字符
select * from tmp.testregexp where name not rlike '[a-z]+'
结果:
海外BD岗
DBA工程师
JAVA高级开发工程师
PHP开发工程师
EPM
343434
...
任何包含英文的(大小写都包括)
select * from tmp.testregexp where name rlike '([a-z]|[A-Z])+'
结果:
Java开发工程师
Java工程师
海外BD岗
移动web研发工程师
DBA工程师
JAVA高级开发工程师
PHP开发工程师
android资深开发经理
课程顾问/sales manager
EPM
HRVP
Java
java
...
不含有任何英文字符的(大小写都包括)
select * from tmp.testregexp where name not rlike '([a-z]|[A-Z])+'
结果:
算法工程师
大区销售总监
财务经理
研发总监
110100
110100
130100
...
4.表达式实例介绍
^\d+(\.\d+)?
^ 定义了以什么开始
\d+ 匹配一个或多个数字
? 设置括号内的选项是可选的
\. 匹配 "."
可以匹配的实例:"5", "1.5" 和 "2.21"。