将我想出的位拼凑在一起,但正则表达式不喜欢模式: from SO
struct UAHelpers {
static func isValid(uaString: String) -> Bool {
let regex = try! NSRegularExpression(pattern: ".+?[\/\s][\d.]+")
return (regex.firstMatch(in: uaString, range: uaString.nsrange) != nil)
}
}
这对我来说看起来不错 - 但还没有正则表达式专家 regex.com 似乎喜欢它?
还尝试了模式:\(([^(]*)\)
- 不开心。
我正在尝试允许用户(自担风险)输入但提供一些解析。
最佳答案
要将正则表达式模式 .+?[/\s][\d.]+
表示为 Swift 字符串,反斜杠 \
需要转义。
(在Swift String
中,/
不需要转义。)
尝试使用 ".+?[/\\s][\\d.]+"
.
不过,我不确定这种模式是否真的能提取您所期望的。
关于swift - 快速解析用户代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45539200/