本项目提供了一个简单的解决方案,可以通过与 PCRE2 兼容的正则表达式从字符串中提取捕获组。
此软件包使用 Swift Package Manager 构建,是 Perfect 项目的一部分,但也可以用作独立的模块。
Swift 4.2+
$ brew install pcre2
$ sudo apt-get install libpcre2-dev
将依赖项添加到您的 Package.swift 文件
.package(url: "https://github.com/RockfordWei/Perfect-PCRE2.git",
from: "3.1.0")
// on target section:
.target(
// name: "your project name",
dependencies: ["PerfectPCRE2"]),
将以下标头添加到您的 Swift 源代码中
import PerfectPCRE2
let lines = try """
HTTP/1.1 100 continue
HTTP/1.0 200 OK
""".pcre2Match(pattern: "([A-Z]+)/([0-9.]+)\\s+([0-9]+)\\s+(.*)")
lines.forEach { line in
print("full: $0", line[0]) // the full match
print("head: $1", line[1]) // "HTTP"
print("vers: $2", line[2]) // 1.1 or 1.0
print("code: $3", line[3]) // 100 or 200
print("stat: $4", line[4]) // continue or OK
}
有关 Perfect 项目的更多信息,请访问 perfect.org。