用于替换给定文本字符串中的 html 的正则表达式模式

Regex pattern to replace html in a given text string

我正在尝试从下面的 html 片段中提取文本。需要正则表达式模式的帮助,它将替换所有 html 标记,并且只会遗漏内容。

我尝试使用以下表达式删除 <span*>,但没有成功。

 String x = '<span style="font-size:11pt;"><span style="line-height:107%;"><span style="font-family:Calibri, sans-serif;"><strong><font color="#000000">Some normal text here...</font></strong></span></span></span>';
 String y = x.replaceAll('[<span*\b>]','');
 system.debug(y);

打印出来:

  tyle="fot-ize:11t;" tyle="lie-height:107%;" tyle="fot-fmily:Clibri, -erif;"trogfot color="#000000"Some normal text here.../fot/trog///

所以它基本上单独替换了每个字符,而不是 <span ... >

之间的内容

需要帮助

第二行代码应该是:

String y = x.replaceAll('<span[^>]*>','');

这个语句的意思是:对于所有出现的 '<span' 后面跟着许多出现的东西 (*) 除了 '>' ([^>]) 后面跟着单个 '>',替换为空。

顺便说一下,您会错过关闭选项卡 </span>。我告诉你这些只是为了你的信息,因为你没有要求这个。