gpt4 book ai didi

ios - Swift 正则表达式查找全部

转载 作者:行者123 更新时间:2023-11-30 13:41:56 28 4
gpt4 key购买 nike

我有一个 html 部分: http://pastebin.com/FCcGNdwJ

这是我的正则表达式:

<div class="cl_price">[\s\.\w<>="$\/]*Your Price\s*\$(\d+.\d+)|<div class="cl_price">[\s\.\w<>="$\/]*\$(\d+.\d+)

当我使用 Python 时,并运行以下代码:

results = re.findall(r'%s' % regex, text)

findall python documentation

我得到了这样的东西:

[('', '59.00'), ('74.00', ''), ('', '69.95'), ('74.00', ''), ('', '39.99'), ('', '39.95'), ('', '79.95'), ('', '29.95'), ('', '129.99'), ('', '59.00'), ('', '35.00'), ('', '35.00'), ('19.00', ''), ('', '39.00'), ('18.00', ''), ('', '69.95'), ('', '79.00'), ('', '54.95'), ('74.99', ''), ('', '79.95'), ('', '35.00'), ('', '95.00'), ('15.00', ''), ('15.00', ''), ('74.00', ''), ('', '39.00'), ('', '39.00'), ('', '39.00'), ('', '129.00'), ('15.00', ''), ('', '34.95'), ('', '39.95'), ('', '9.95'), ('', '79.99'), ('', '59.95'), ('', '49.99'), ('74.00', ''), ('74.00', ''), ('', '35.00'), ('', '69.00')]

然后我尝试在 Swift 中执行以下操作。我最后一次尝试是:

do {
let regex = try NSRegularExpression(pattern: regex, options: [])
let nstext = value as NSString
let all = NSRange(location: 0, length: nstext.length)
let results = regex.matchesInString(value, options: [], range: all)



return results.map { nstext.substringWithRange($0.range)}
} catch {
return []
}

它返回了我:

["<div class=\"cl_price\">\n\n                        <div class=\"regular_price\">\n                  Regular Price $249.00"]

如何像 Python 中那样进行输出?

最佳答案

解析 XML/HTML 时,正则表达式通常不是一个好主意。

话虽如此,看看 https://regex101.com/r/yN4aR2/1 。您可能还想将整个 HTML 源代码放入该 regex101 页面并检查它是否与您想要的相匹配。

请注意,这是为了可读性而格式化的。它不应该直接复制到 [swift] 中或您使用的任何正则表达式语言。

关于ios - Swift 正则表达式查找全部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35466584/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com