1

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

Start   20130918 14:35:00

テキストからのみ 20130918 を抽出したい。私はこのようなことを試しました:

regexreplace(Start('\s+\w{5}\d{8}\s',''))
4

2 に答える 2

4

このタイプの問題には、regex_replace よりも部分文字列を使用することをお勧めします。

select substring('Start   20130918 14:35:00' from '[0-9]{8}')
于 2013-09-26T12:00:09.707 に答える
2

次の式を使用して、行を一致させることができます。

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があります

于 2013-09-25T21:07:24.677 に答える