0

私のデータベースには、XML 形式でデータを保持する列があります。XML 要素の 1 つは、次のような日付を保持します。

<timestamp>2013-05-22 16:01:26.78 CDT</timestamp>
<timestamp>2013-05-15 10:29:44.588 CDT</timestamp>
<timestamp>2013-02-27 09:37:54.677 CST</timestamp>

だから私は次を使用して値を抽出しました<timestamp>

substring(table.column from '<timestamp>(.*)</timestamp>') as "Time Stamp"

しかし、正規表現を使用してミリ秒だけを削除しようとすると苦労しています。

私が欲しいのは2013-02-27 09:37:54 CST

ミリ秒を除外するのに十分な正規表現を知りません。

4

2 に答える 2

0

だけを使用するべきではありません:

/<timestamp>[^\.]*.([^\s]*)\s.*<\/timestamp>/

やれ?それはルビーの正規表現です。

必要なのは、「<\timestamp>」、「任意の非ピリオド文字」、「.」、「任意の空白以外」、「スペース」、「何でも」、「</timestamp>」です。

「任意の非空白」が選択されています。(ルビのカッコ内)

それが役立つことを願っています。正規表現がどれだけ異なるかはわかりません。ruby や perl などの一部は同一です。一部の文字をエスケープしたことに注意してください-タイムスタンプタグが好きではありません。

于 2013-08-23T22:46:19.850 に答える