4
我試圖匹配字符串中數字的位數。這裏是我的MySQL查詢的一部分匹配空格後的字符串中的位數
SELECT digits, concat(digits, ' Digits ') as selects, count(*) as count
FROM (SELECT (case WHEN `no` REGEXP '[[:<:]][0-9]{1}[[:>:]]' then '1'
WHEN `no` REGEXP '[[:<:]][0-9]{2}[[:>:]]' then '2'
WHEN `no` REGEXP '[[:<:]][0-9]{3}[[:>:]]' then '3'
WHEN `no` REGEXP '[[:<:]][0-9]{4}[[:>:]]' then '4'
end) AS digits
FROM `no_ads` AS a
.......
.......
問題是在這樣4U 2
或4U 2 a
我的查詢字符串會算成2個數字時,它應該算作1([[:<:]][0-9]{1}[[:>:]]
)。我如何在第一空間後開始計數?
的'[[:<:]] [0-9] {2} [[:>:]]'圖案不能匹配'4U 2 A'任何東西。我相信這裏的正則表達式不是要責怪。 –
使用這個http://stackoverflow.com/questions/986826/how-to-do-a-regular-expression-replace-in-mysql你可以替換除數字之外的所有東西,然後做一個字符串長度 – ritesht93