我的一个应用程序提供了使用用户提供的正则表达式更改输入字符串的可能。此功能当前基于NSRegularExpression
。
最近(出乎意料的)一些客户抱怨替换/模板表达式中缺少大小写修改。我不是正则表达式方面的专家,而且我实际上并未意识到此功能。
我现在正在尝试查看正则表达式的Foundation实现是否可以实现此功能,但无济于事:
if let regex = try? NSRegularExpression(pattern: "(.)(.*)", options: []) {
let sampleText = "Hello World"
let nsrange = NSRange(sampleText.startIndex..<sampleText.endIndex, in: sampleText)
let result = regex.stringByReplacingMatches(in: sampleText, options: [.], range: nsrange, withTemplate: "$1\\L$2")
debugPrint(result)
}
\L
部分将被忽略。我需要传递不同的标志吗?还是Foundation和Swift API不支持此功能?