Prazi
Prazi

Reputation: 335

NSRegularExpression for stripping HTML Tag

I am developing a ebook reader app. I have the .ePUB file for the entire ebook where in each topic of the ebook is a html file. I want to implement the search functionality in the app. I am using NSRegularExpression class for searching. Please consider the following html code:

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

Say for example in the above html code I just want to search for the word temp. Now in above code temp is appearing 5 times -> <temp> </temp> temp tempo temptation. I am looking for a regular expression where I can only extract the whole word "temp". I don't want to consider the word temp in the html tags <temp> </temp>. I also don't want the word tempo and temptation to be considered.

Thanks in advance

Upvotes: 3

Views: 1875

Answers (2)

Jacob Relkin
Jacob Relkin

Reputation: 163228

How is this?

[^<\/?\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");
}

Upvotes: 2

Aurum Aquila
Aurum Aquila

Reputation: 9126

How about this puppy:

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

I found it in the RegExBuddy Library :)

Upvotes: 1

Related Questions