我如下匹配MySQL中的正則表達式:MySql的正則表達式匹配的所有字符
$this->db->where('bottom_id REGEXP', $bottom);
$底部的值來自一個數組:
$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');
當我運行查詢「JG | KH | BR | LL | MO | RA'和'JGS | KHS | BRS | LLS | KHC | BRC | TY | MOS | RAS'重複了一些結果,即JGS是從JG值中選擇的。
如何強制值的精確匹配,以便JG只匹配JG而不是JGS?
數據表如下所示:
|------
|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
'/(JG [^ S])/'? – CarlosCarucce
您能否提供原始數據樣本和預期結果? – Alex
在這裏做了一個簡單的測試:https://regex101.com/r/eM8sR5/1 – CarlosCarucce