如何正则化字符串+;mysql中的数字模式
我在url中有这种模式,我需要从url中提取4位数字。模式如下所示:如何正则化字符串+;mysql中的数字模式,mysql,regex,Mysql,Regex,我在url中有这种模式,我需要从url中提取4位数字。模式如下所示: hotel1234 /1234.html 我试过了 select sdate,url, case when url like '/%.html' then substring_index(url,'.',1) when url REGEXP 'HOTEL'+'[0-9].{4}' then left(substring_index(url,'HOTEL',-1),4) els
hotel1234
/1234.html
我试过了
select sdate,url,
case when url like '/%.html' then substring_index(url,'.',1)
when url REGEXP 'HOTEL'+'[0-9].{4}' then left(substring_index(url,'HOTEL',-1),4)
else url
end digit
from urltable
这在某些url上不起作用。
我想在“/1234.html”上注册exp,正确的表达式是什么?以下应该可以:
SELECT url,
CASE WHEN url LIKE '/%.html' THEN SUBSTRING(SUBSTRING_INDEX(url,'.',1), 2)
WHEN url REGEXP '[a-zA-Z]{5}[0-9]{4}' THEN substring(url, -4)
ELSE url
END digit
FROM test;
这里有一个
+
用于数学。为什么不把它全部写在引号里呢{4}
是4个任意字符。请不要重复问题。