正则表达式在 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)
我正在尝试解析 Swift 中的字符串数据,我能想到的最佳解决方案是使用正则表达式。问题在于检测具有模式 {{...}} 的子字符串 ... 表示任意长度的字符串。我使用在线调试器创建了一个正则表达式。这是表达式和相应的结果:
但是当我在 Swift 中使用相同的正则表达式时,它不起作用。下面是我正在使用的代码。
if let match = data.range(of: "{{(.*)}}", options: .regularExpression)
{ some code logic }
但它不起作用。我硬编码了与上面的测试字符串完全相同的字符串。
你应该用反斜杠转义花括号:
let match = data.range(of: "\{\{(.*)\}\}", options: .regularExpression)