こんにちは皆さん、正規表現について質問があります。次のようなテキストから日付を抽出するのを手伝ってもらえますか?
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')