替换img和iframe标记的转义序列无效

时间:2017-02-11 20:10:35

标签: regex jsp

我使用replaceAll()函数从我的字符串中去除HTML iFrame和img标记,但我收到了JSP错误,我不确定原因。我在一个正则表达式测试器上测试了两个正则表达式,它们似乎都传递了我放入的任何<iframe></iframe><img src="" >标签。

<%
  String content = (String) pageContext.getAttribute("content").toString().replaceAll("<iframe>[^\"]*<\/iframe>", " ").replaceAll("<img[^>]*\\>", " ");
  pageContext.setAttribute("content", content);
%>

这是错误:

Invalid escape sequence (valid ones are  \b  \t  \n  \f  \r  \"  \'  \\ )

我是正则表达式的新手,所以我很难找到有效的解决方案。我哪里错了?

1 个答案:

答案 0 :(得分:0)

根据我的替换所有经验,尝试使用:

replaceAll

在JAVA / JSP中的任何8个字符/符号中都会触发错误。

* ( ) + { [ ? \

改为使用

contains

在调用replaceAll之前处理/检查8个字符/符号或使用下面资源中指定的正则表达式。

干杯。