Regex 我需要什么正则表达式来替换日期字符串的结尾以使其统一?

Regex 我需要什么正则表达式来替换日期字符串的结尾以使其统一?,regex,swift,nsdate,nsregularexpression,Regex,Swift,Nsdate,Nsregularexpression,假设我的输入字符串是以下之一: 2015-05-13T09:32:59.771Z 2015-05-13T09:32:59.7713Z 2015-05-13T09:32:59.77133Z 2015-05-13T09:32:59.771999999999Z 2015-05-13T09:32:59.000Z 2015-05-13T09:32:59Z 但作为输出,我始终需要: 2015-05-13T09:32:59.000Z 我需要什么正则表达式 let pattern = ":[0-9]{2}(

假设我的输入字符串是以下之一:

2015-05-13T09:32:59.771Z
2015-05-13T09:32:59.7713Z
2015-05-13T09:32:59.77133Z
2015-05-13T09:32:59.771999999999Z
2015-05-13T09:32:59.000Z
2015-05-13T09:32:59Z
但作为输出,我始终需要:

2015-05-13T09:32:59.000Z
我需要什么正则表达式

let pattern = ":[0-9]{2}(\.)?([0-9]{0,})?Z&"
试试这个:
(\[0-9A-z]*)|(([0-9]{2}z))

您也可以这样做(如果日期和时间长度始终相同):


您必须用该字符串替换每一行?不,它们是示例,因为从服务器上我可能会得到以下结果之一,但我需要始终在末尾使用
.000Z
,只需取前19个字符并附加.000Z:)我找到了模式的解决方案:
(:[0-9]{2})(\\\\.[0-9]*)?Z$”
和模板:
“$1.000Z”
var sample:NSString = "2015-05-13T09:32:59.771Z"

var substr = sample.substringToIndex(19)

sample = substr + ".000Z"

println(sample) // prints 2015-05-13T09:32:59.000Z