2017-03-21 9 views
0

私はこのパターンをURLに持っており、私はURLから4桁の数字を抽出する必要があります。パタパタは次のようになります。mysqlで文字列+数字のパターンを正規表現する方法

hotel1234 
/1234.html 

私は、これはURLの一部では動作しません

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 

を試してみました。 「/1234.html」で正規表現したいのですが、正しい表現は何ですか?動作するはずです後

+0

'+'は数式です。それをすべて引用符に入れてみませんか? '。{4}'は4文字です。 – chris85

+0

質問は重複しないでください。 – chris85

答えて

0

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; 

ここSQL Fiddleです。

関連する問題