У меня есть HTML часть: http://pastebin.com/FCcGNdwJSwift регулярного выражения найти все
И это мое регулярное выражение:
<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)
У меня есть что-то вроде этого:
[('', '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?
Что вы хотите получить? – OnlineCop
Мне нужен вывод, как в python – Arti
@Arti Вы пытаетесь разобрать HTML? Обратите внимание, что невозможно анализировать HTML с помощью регулярных выражений, так как HTML не является обычным языком. Почему вместо этого вы не используете парсер HTML? –