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



我正在使用 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  "  '  \ )

我对正则表达式很陌生,所以我很难找到有效的解决方案。我哪里出错了?

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

replaceAll

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

* ( ) + { [ ? 

而是使用

contains

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

  • https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#replaceAll(java.lang.String,%20java.lang.String(
  • https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html#sum

干杯。

最新更新