嗨,大家好我對正則表達式的問題,你能不能幫我從文本中提取日期,如:PostgreSQL的正則表達式替換文本字段
Start 20130918 14:35:00
餘萬隻從文本中提取20130918。 我已經試過這樣的事情:
regexreplace(Start('\s+\w{5}\d{8}\s',''))
嗨,大家好我對正則表達式的問題,你能不能幫我從文本中提取日期,如:PostgreSQL的正則表達式替換文本字段
Start 20130918 14:35:00
餘萬隻從文本中提取20130918。 我已經試過這樣的事情:
regexreplace(Start('\s+\w{5}\d{8}\s',''))
您可以使用下面的表達式匹配行:
Start\s+([0-9]{8})\s.*
,然後替換字符串:\1
。
注:您可能需要加倍逃脫如果傳遞的表達式作爲字符串每個反斜槓,所以你可能需要使用:
Start\\s+([0-9]{8})\\s.*
編輯:您可以使用下面的語句:
SELECT regexp_replace('Start 20130918 14:35:00','Start\s+([0-9]{8})\s.*','\1')
,這裏是一個SQL Fiddle Demo
最好使用比子爲regex_replace這種類型的問題:
select substring('Start 20130918 14:35:00' from '[0-9]{8}')
比接受的答案更簡單。 – aviad
你說你要提取的日期,但你卻用一個空字符串替換除了時間的一切,什麼是你想實現什麼呢? –
我想從文本中提取僅日期,刪除起點和時間。 – Car