圖形號碼我有了一個字符串或者具有從URL中提取MySQL或蟒蛇
hotel+4 digit number: hotel1234
or slash+4digit.html: /1234.html
一堆網址是否有一個正則表達式來提取1234無論是使用Python或MySQL 4位數字?
我在想 '酒店'[0-9] [0-9] [0-9] [0-9],某事像這樣
謝謝!
圖形號碼我有了一個字符串或者具有從URL中提取MySQL或蟒蛇
hotel+4 digit number: hotel1234
or slash+4digit.html: /1234.html
一堆網址是否有一個正則表達式來提取1234無論是使用Python或MySQL 4位數字?
我在想 '酒店'[0-9] [0-9] [0-9] [0-9],某事像這樣
謝謝!
你可以嘗試REGEXP
SELECT * FROM Table WHERE ColumnName REGEXP '^[0-9]{4}$'
或
SELECT * FROM Table WHERE ColumnName REGEXP '^[[:digit:]]{4}$';
下面是一個stackoverflow.com鏈接,可能是有用的顯示 how to extract a substring from inside a string in Python?
不幸的是,MySQL的正則表達式只是返回true如果字符串存在。我發現SUBSTRING_INDEX有用的,如果你知道周圍目標的文字...
select case when ColumnName like 'hotel____' then substring_index(ColumnName,'hotel',-1)
when ColumnName like '/____.html' then substring_index(substring_index(ColumnName,'/',-1),'.html',1)
else ColumnName
end digit_extraction
from TableName
where ...;
上面的case語句是沒有必要的,因爲這樣SUBSTRING_INDEX作品(通過返回整個字符串如果搜索字符串不找到)。
select substring_index(substring_index(substring_index(ColumnName,'hotel',-1),'/',-1),'.html',1)
from TableName
where ...;
,你會知道如何正則表達式 '/1234.html'?這個確切的模式? – Sia