当我打印这个:
print("dfi:.*\\{8766370\\}.*:6582.*")
日志上的结果与预期的一样:
>>>> dfi:.*\{8766370\}.*:6582.*
但是当我动态构造字符串时,结果看起来是错误的
let re = "dfi:.*" + "\\" + "{" + "\(section)" + "\\" + "}" + ".*:\(feed).*"
print(re)
>>>> dfi:.*\\{8766370\\}.*:6582.*"
请注意,在第二种情况下有一个双斜杠“\”,我不知道为什么。我尝试使用单斜杠或三斜杠,但仍然打印错误。
编辑 - 添加代码:
for (section,feeds) in toPurge {
var regex = [String]()
for feed in feeds {
// dfi:\{(8767514|8769411|8768176)\}.*
let re = "dfi:.*" + "\\" + "{" + "\(section)" + "\\" + "}" + ".*:\(feed).*"
regex.append(re)
}
print(regex) // looks wrong ! bug in xcode?
for r in regex {
print(r) // looks perfect
}
}