使用 NSRegularExpression 在 (.*) 中获取匹配字符串

Get a match string in (.*) with NSRegularExpression

我正在使用 Swift 2,并尝试从 URL 的 HTML 数据响应中获取一个数字,dataString 是我的 HTML 文本,我使用NSRegularExpression 并尝试获取字符串

let patten = "<span class=bld>(.*)USD</span>"
let reg = try? NSRegularExpression(pattern: patten, options: NSRegularExpressionOptions.init(rawValue: 0))
let rangeMatch = reg?.firstMatchInString(dataString, options: [], range: NSMakeRange(0, dataString.characters.count))
if rangeMatch != nil {
    let res = (dataString as! NSString).substringWithRange((rangeMatch?.range)!)
    print(res)
 }

但是我得到的结果是完整的字符串<span class=bld>22309 USD</span>,我只想得到22309个数字。任何人都可以告诉我如何获得它吗?

捕获的组位于 NSTextCheckingResult 对象的范围索引 1+。

...rangeMatch?.rangeAtIndex(1)

我推荐一个更具体的模式:

let pattern = "<span class=bld>(\d+)\sUSD</span>"

或更短

let pattern = "(\d+)\sUSD"

\d+是一个或多个数字,\s是一个空白字符