正则表达式消除锚标签

时间:2015-01-29 09:29:08

标签: java regex

在我的项目代码中,我看到下面的正则表达式用于消除字符串中的锚标记及其属性。

我不熟悉正则表达式。感谢你的帮助。

String str2 = sql.replaceAll(“] *>”,“”);

3 个答案:

答案 0 :(得分:2)

要了解正则表达式模式,您可以使用regex online-tester tool。该工具准确地显示了正则表达式模式的作用,您还可以检查字符串是否与正则表达式匹配。

要测试正则表达式,您必须在\之前添加/?以逃避/

<\/?a[^>]*>

这里的解释是:

  

<匹配字符&lt;字面意思

     
      
  • \/?字面匹配字符/

         
        
    • 量词:?zeroone之间,次数为[greedy]   可能,根据需要回馈a
    •   
  •   
     

a字面匹配字符[^>]*(区分大小写)

     

Quantifier:匹配下面列表中不存在的单个字符

     
      
  • * zerounlimited[greedy]次之间,   尽可能多次,根据需要回馈>

         
        
    • >列表中的单个字符&gt;字面意思(区分大小写)
    •   
  •   
     

{{1}}匹配字符&gt;字面上

答案 1 :(得分:2)

逐步采用表达式</?a[^>]*>

  • <:字符<
  • /?:optionnaly后跟字符/
  • a:字符a
  • [^>]*:0个或多个不是>的字符。例如href="..."
  • >:字符>

实际上,这意味着:&#34;将<a ***></a ***>替换为"" =无。

示例:

<a href="www.google.com" target="_blank">This is a link.</a>

成为:

This is a link.

答案 2 :(得分:1)

我建议使用regex101来expalin并测试正则表达式。 对于这个特殊的,我进入了

<\/?a[^>]*>   (note i escaped the /  with a \)

和文字

hello <a href="blah" >  world</a>  here

它给出了

权利的解释
  

&lt; /?a [^&gt;] &gt; /&lt;匹配字符&lt;字面上/?匹配   字符/字面量词:?在零和一次之间,尽可能多   尽可能多的时间,根据需要回馈[贪婪]匹配   字面字面(区分大小写)[^&gt;] 匹配单个字符   在Quantifier下面的列表中没有出现:*在零和无限之间   时间,尽可能多次,根据需要回馈[贪心]   &GT;列表中的单个字符&gt;字面意思(区分大小写)   &GT;匹配字符&gt;字面上

它还会突出显示它在字符串中的影响。