正则表达式在 Swift 3 中无法正常工作

Regular expression is not working properly in Swift 3

我正在尝试解析 Swift 中的字符串数据,我能想到的最佳解决方案是使用正则表达式。问题在于检测具有模式 {{...}} 的子字符串 ... 表示任意长度的字符串。我使用在线调试器创建了一个正则表达式。这是表达式和​​相应的结果:

但是当我在 Swift 中使用相同的正则表达式时,它不起作用。下面是我正在使用的代码。

if let match = data.range(of: "{{(.*)}}", options: .regularExpression) 
{ some code logic }

但它不起作用。我硬编码了与上面的测试字符串完全相同的字符串。

你应该用反斜杠转义花括号:

let match = data.range(of: "\{\{(.*)\}\}", options: .regularExpression)