ue设置MySQL_正则表达式【UltraEdit / MySQL / 数据清洗】

1. like 与 regexp比较

like有的功能,regexp都有;regexp还能进行更精确的匹配

-- 模糊匹配两者完全等价

SELECT * FROM rp_dag_sdu_log where task_number like '%rp%';

SELECT * FROM rp_dag_sdu_log where task_number regexp 'rp';

-- MySQL 的正则表达式匹配(自3.23.4版本后)不区分大小写

-- 此时REGEXP 加上关键词 BINARY 可区分大小写,like却不能

SELECT * FROM rp_dag_sdu_log where upper(task_number) like '%rp%';

SELECT * FROM rp_dag_sdu_log where task_number regexp binary 'RP';

2. MySQL里常用的正则表达式

是否是纯数字

select '1234abc' NOT REGEXP '[^0-9.]';

是否含有数字

select '1234abc' REGEXP '[0-9.]';

是否以abc开头

select 'abc1234' regexp '^abc';

是否以abc结尾

select '1234abc' REGEXP 'abc$'

是否以4位数字开头

select '1234abc' REGEXP '^[0-9]{4}'

是否含有连续4位数字

select '1234abc' REGEXP '[0-9]{4}'

是否含有连续4位字母

select '123aBcd12efg' REGEXP '[a-zA-Z]{4}'

找出所有包含1000或2000或3000的记录

select *from rp_dag_sdu_log where task_number REGEXP '000';

select *from rp_dag_sdu_log where task_number REGEXP '1000|2000|3000';

select *from rp_dag_sdu_log where task_number REGEXP '[123]000';

select *from rp_dag_sdu_log where task_number REGEXP '[1-3]000';

谨慎使用(.) 表示匹配任意单个字符(除“\n”外)

(.000)此时只能匹配000前面有字符的数据

select *from rp_dag_sdu_log where task_number REGEXP '.000';

3. 正则表达式含义表格

246f5b3d91e9c023bd5d68520cc56e86.png

4. UltraEdite正则表达式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值