正则表达式模式,以查找html标记的出现

时间:2013-12-06 03:44:43

标签: objective-c regex nsregularexpression

说我有一个看起来像这样的字符串:

iword/i

此处标记为i。这类似于HTML标记,除了没有<>尖括号。

或者说我有

  

emword / EM

此处标记为em

我想要的是一种删除这些标签的模式。

我正在测试这种模式:

<{3}}上的{p> <([A-Z][A-Z0-9]*)\b[^>]*>(.*?)</\1>,但无法正常使用。

具体来说,我想做的是使用Objective-C:

NSString *string = @"iword/i";
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:&error];
return [regex stringByReplacingMatchesInString:string options:0 range:NSMakeRange(0, string.length) withTemplate:@""];

除了word之外只删除所有内容。

1 个答案:

答案 0 :(得分:1)

你需要一个你要删除的html标签的完整列表(i,em,b,还有什么?),因为你将不得不专门搜索要删除的标签。

这样做的一种方法是:\b(i|em|b)(\w*)\/(i|em|b)\b(正如你以前见过的Obj-c,可能有一些双\逃脱)

行动中:http://regex101.com/r/qL3cU9

输入:

  • iword / I
  • emword / EM
  • bword / B
  • ibword / IB
  • notgoing / tomatch this

替换结果:

  • ibword / IB
  • notgoing / tomatch this