2016-06-03 7 views
0

Я использую такой способ Regex в Swift 3Как пропустить символы фильтра регулярных выражений?

let reg = try NSRegularExpression(pattern: pattern, options: .CaseInsensitive) 
let matches = reg.matchesInString(text, options: NSMatchingOptions.WithTransparentBounds, range: NSMakeRange(0, text.characters.count)) 

Затем я использую такую ​​картину, как «<hh>(.*?)</hh>» Тогда я получаю спичек, который содержит «<hh>» в его запуска и «</hh>» в его конце. Как получить только ценность между ними?

+0

Удалить тег руками, довольно легко –

ответ

0

я не могу проверить это прямо сейчас, но попробовать что-то вдоль линий:

for match in matches { 
    let matchRange = match.rangeAtIndex(1) 
    let substring = text.substringWithRange(matchRange) 
    //do something with your subscring 
} 
0

решен путем добавления removingTagLength параметра функции я использую для поиска регулярных выражений матчей и только с помощью этого параметров в диапазоне при вызове substringWithRange

nsText.substringWithRange(NSMakeRange(match.range.location + removingTagLength, match.range.length - (removingTagLength > 0 ? removingTagLength + 1 : 0))) 
+0

Вы должны сломать это заявление вверх, это довольно долго. – Alexander

Смежные вопросы