如何在swift中使用正则表达式?

时间:2015-04-25 14:31:17

标签: regex json swift

我正在尝试在swift中编写一个JSON解析器。我正在编写用于解析JSON代码的不同部分的函数。我编写了一个字符串解析器,它检测JSON数据中的字符串,通过检查开头的\“,如果我遇到另一个\”,它被分离并作为字符串返回但是当我遇到这个JSON文本时:

{"gd$etag": "W\/\"D0QCQX4zfCp7I2A9XRZQFkw.\""}

我编写的函数在上面的例子中失败了,因为在值部分它必须将整体识别为String而我的工作只收集

W\/

因为我把条件作为开始和结束时使用\“ 当我在网上搜索时,我明白它与正则表达式有关。所以帮我解决这个问题!

1 个答案:

答案 0 :(得分:1)

这是你在找什么?

import Foundation

let str: NSString = "W\\/\\\"D0QCQX4zfCp7I2A9XRZQFkw.\\\""
let regex = "\\\\\".*\\\\\""

// Finds range that starts with \" and ends with \"
let range = str.rangeOfString(regex, options: .RegularExpressionSearch)
let match: NSString = str.substringWithRange(range)

//Removes the \" from the start and end.
let innerString = match.substringWithRange(NSMakeRange(2, match.length-4))