swift - 快速解析用户代理

标签 swift user-agent

将我想出的位拼凑在一起,但正则表达式不喜欢模式: 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)
    }
}

Invalid escape sequence in literal

这对我来说看起来不错 - 但还没有正则表达式专家 regex.com 似乎喜欢它?
还尝试了模式:\(([^(]*)\) - 不开心。

我正在尝试允许用户(自担风险)输入但提供一些解析。

最佳答案

要将正则表达式模式 .+?[/\s][\d.]+ 表示为 Swift 字符串,反斜杠 \ 需要转义。

(在Swift String中,/不需要转义。)

尝试使用 ".+?[/\\s][\\d.]+".

不过,我不确定这种模式是否真的能提取您所期望的。

关于swift - 快速解析用户代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45539200/

相关文章:

php - 使用 php 检测浏览器的最佳方法是什么?

ios - UIImage Gif 加载委托(delegate)?

ios - 需要查找 HomeKit 设备的 IP 地址

swift - 如何更正 "corrupt and unarchivable nib"?

google-apps-script - UrlFetchApp.fetch() 似乎没有改变用户代理

JavaScript - 创建自定义元素并应用标准样式

ios - 快速创建表

ios - 在原型(prototype)单元格中填充文本字段

user-agent - Google PageSpeed 用户代理的名称是什么?

android - 还有哪些其他移动浏览器用户代理伪装成 Android 和/或 iPhone?