在eclipse

时间:2015-07-13 10:20:56

标签: javascript java regex eclipse jsp

我最近正在开发一个旧项目,我们在前端使用jsp。我的实际工作是删除所有js-comments(//)并用.jsp文件中的jsp-comments(<%-- --%>)替换它们以减少流量。我的IDE是eclipse,所以我使用搜索并用regex替换多个文件( Ctrl + H )。

  

注意

     

我已删除所有文件中的所有/* */条评论。

例如,我们可以在jsp文件中找到一些代码:

<script type="text/javascript">
<!--
    function submitSave() {
        // Coment in JS
        if (doubleClick()) { return; }

        document.benutzerRollenFunktionenForm.action = '<%=request.getContextPath()%>/administration/benutzerRollenFunktionenBearbeiten.do';

        <% if (request.getAttribute("methode") != null && request.getAttribute("methode").toString().trim().equals("benutzerSpeichern")) { //%>
            document.benutzerRollenFunktionenForm.method.value = 'benutzerSpeichern';
        <% } else if (request.getAttribute("methode") != null && request.getAttribute("methode").toString().trim().equals("benutzerNeuAnmeldungSpeichern")) { %>
            document.benutzerRollenFunktionenForm.method.value = 'benutzerNeuAnmeldungSpeichern';
        <% } // End If %>
    }
//-->
</script>

正如您所看到的,jsp-tags中还有注释,因此我不能只搜索//并删除它们。

我可以使用此正则表达式匹配oneliner-jsp-tag中没有的所有注释:

^((?:(?!<%).)*)(\/\/)((?:(?!-->|%>).)*)$
  

注意

     

-->用于阻止匹配//-->,因为这不是需要保留的正常评论。

但是还有这样的代码:

<%
  JAVA CODE
  //Comment
%>

有人有解决方案来匹配JS中的所有注释,用-jsp注释替换它们吗?

修改

不幸的是,我不能手动完成这一切,因为有超过1000个文件和1000多条评论......

1 个答案:

答案 0 :(得分:1)

编写一个逐行读取文件的程序。当你遍历这些线条时,遇到它时会将一个标志变为true。然后,当遇到//并且标志为false时,将//替换为。当标志为真时,不要这样做。

相关问题