zoukankan      html  css  js  c++  java
  • 正则表达式【UltraEdit / MySQL / 数据清洗】

    学习自 https://blog.csdn.net/qq_36761831/article/details/82862135

    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';
    
    谨慎使用(.) 表示匹配任意单个字符(除“
    ”外)
    (.000)此时只能匹配000前面有字符的数据
    select *from rp_dag_sdu_log where task_number REGEXP '.000';
    

    3. 正则表达式含义表格

     

     4. UltraEdite正则表达式

  • 相关阅读:
    vue-常用指令汇总
    vue-插槽和具名插槽
    vue-传值校验
    vue-动态组件
    vue-组件
    zend studio 快捷键收集
    php调试工具firephp
    zend studio插件
    MySQL各个版本区别
    PHP 中 Date 函数与实际时间相差8小时的解决方法
  • 原文地址:https://www.cnblogs.com/skyEva/p/12881966.html
Copyright © 2011-2022 走看看