du16178 2016-06-28 13:25
浏览 124

MySql regexp匹配所有字符

I am matching a regexp in MySQL as follows:

$this->db->where('bottom_id REGEXP', $bottom);

The values of $bottom comes from a array:

$bottom_key = array('EG','LE','KG','IS|BO|COA|ARG|PAW|HSE','JG|KH|BR|LL|MO|RA', 'JGS|KHS|BRS|LLS|KHC|BRC|TY|MOS|RAS', 'LEO|EGS');

When I run the query 'JG|KH|BR|LL|MO|RA' and 'JGS|KHS|BRS|LLS|KHC|BRC|TY|MOS|RAS' duplicate some of the results i.e. JGS is selected from the JG value.

How do I force an exact match of the values so that JG will only match JG and not JGS?

The data table looks as follows:

|------
|id|order_id|product_id|upper_id|bottom_id|create_date|del_date|ref_no|comm_code
|------
|81|17|6151|HSA       |IS        |0000-00-00 00:00:00|2016-10-15|NULL|NULL
|82|17|7441|BHE       |IS        |0000-00-00 00:00:00|2016-09-15|NULL|NULL
|83|17|7501|MUA       |IS        |0000-00-00 00:00:00|2016-07-15|NULL|NULL
|84|17|7137|KDB       |IS        |0000-00-00 00:00:00|2016-07-07|NULL|NULL
|85|17|7137|KDD       |IS        |0000-00-00 00:00:00|2016-08-15|NULL|NULL
|86|17|6613|PAA       |KG        |0000-00-00 00:00:00|2016-10-15|NULL|NULL
|87|17|7315|CDA       |KG        |0000-00-00 00:00:00|2016-07-07|NULL|NULL
|88|17|7525|COA       |KG        |0000-00-00 00:00:00|2016-07-07|NULL|NULL
|89|17|7525|COA       |KG        |0000-00-00 00:00:00|2016-09-15|NULL|NULL
|90|17|1600|JGC       |MOS       |0000-00-00 00:00:00|2016-08-15|PD65929|NULL
  • 写回答

3条回答 默认 最新

  • doupu2722 2016-06-28 13:32
    关注

    Use

    $bottom_key = array('^EG$','^LE$','^KG$','^(IS|BO|COA|ARG|PAW|HSE)$','^(JG|KH|BR|LL|MO|RA)$', '^(JGS|KHS|BRS|LLS|KHC|BRC|TY|MOS|RAS)$', '^(LEO|EGS)$');
    

    The regexp symbol ^ indicates the starting of the string and $ its end.

    评论

报告相同问题?

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看