大家好,我对正则表达式有疑问,您能帮我从文本中提取日期,例如:
Start 20130918 14:35:00
我只从文本中提取 20130918 。我试过这样的事情:
regexreplace(Start('\s+\w{5}\d{8}\s',''))
大家好,我对正则表达式有疑问,您能帮我从文本中提取日期,例如:
Start 20130918 14:35:00
我只从文本中提取 20130918 。我试过这样的事情:
regexreplace(Start('\s+\w{5}\d{8}\s',''))
对于此类问题,最好使用子字符串而不是 regex_replace:
select substring('Start 20130918 14:35:00' from '[0-9]{8}')
您可以使用以下表达式来匹配该行:
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 演示