用于剥离HTML标记的NSRegularExpression

时间:2011-02-09 07:13:33

标签: iphone objective-c regex

我正在开发一个电子书阅读器应用程序。我有整个电子书的.ePUB文件,其中电子书的每个主题都是一个html文件。我想在应用程序中实现搜索功能。我正在使用NSRegularExpression类进行搜索。请考虑以下HTML代码:

<temp> I am temp in tempo with temptation </temp>

比如在上面的html代码中说我只想搜索单词temp。现在上面的代码temp出现了5次 - &gt; <temp> </temp>临时节奏诱惑。我正在寻找一个正则表达式,我只能提取整个单词“temp”。我不想在html标签<temp> </temp>中考虑单词temp。我也不想要考虑节奏和诱惑这个词。

提前致谢

2 个答案:

答案 0 :(得分:2)

这是怎么回事?

[^<\/?\w*>]+(temp\s)

http://rubular.com/r/3PkdvNZSbr

NSString *evaluate_string = @"<temp> I am temp in tempo with temptation </temp>";
NSString *word = @"temp";
NSError *outError;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:[NSString stringWithFormat:@"[^<\\/?\\w*>]+(%@\\s)", word] options:0 error:&outError];

NSTextCheckingResult *result = [regex firstMatchInString:evaluate_string options:0 range:NSMakeRange(0, [evaluate_string length])];

if(result) {
    NSLog(@"Found");
}

答案 1 :(得分:1)

这只小狗怎么样:

</?[a-z][a-z0-9]*[^<>]*>

我在RegExBuddy图书馆找到了它:)