如何用正则表达式替换特定的JavaScript注释
How can I replace specific JavaScript comments with a regular expression?
我的任务是打开许多文件,搜索//@public object
模式,如果它没有匹配项,则删除该文件中之前没有//@public doc
的所有JavaScript注释。
例如,可能有类似的东西:
//@public doc
/**
* @function
* checks for specific conditions
* specific variables
*/
但其他所有JavaScript注释都需要删除。
什么是正则表达式,以及如何实现?
提前谢谢。
与此同时,我想出了以下解决方案
<fileset id="jsmvcdoc.fileset" dir="${doctempfolder}" includes="**/*.js">
<not>
<contains text="//@public object" casesensitive="no"/>
</not>
</fileset>
<!-- JS Comments -->
<replaceregexp match="(?!doc. +)/'*.+?'*/" replace="" flags="gs" byline="false">
<fileset refid="jsmvcdoc.fileset"/>
</replaceregexp>
它过滤文件集,只包括那些不包含//@public对象的文件,但我不知道如何制作regexp,它将删除所有注释,除了前面有//@public-doc 行的注释
通过这种方式解决:
<!-- strip out js comments not preceeded by //@public doc -->
<replaceregexp match="(?<!//@public doc'x0D'x0A )/'*.+?'*/" replace="" flags="gs" byline="false">
<fileset refid="jsmvcdoc.fileset"/>
</replaceregexp>
我会用这种方式分解它:
- 选择包含图案的文件
- 在特定regex上运行replace任务
类似的东西
<replaceregexp byline="true">
<regexp pattern="/'*['d'D]*?'*/"/>
<substitution expression=""/>
<fileset dir="${JSfiles.path}" includes="**/*.js">
<contains text="//@public object" casesensitive="no"/>
</fileset>
</replaceregexp>
我还没有测试过它,所以您可能需要稍微调整一下regex。
相关文章:
- 如何用正则表达式替换特定的JavaScript注释
- Visual Studio 2012:更改javascript注释样式
- Javascript注释实践
- 如何在生成的HTML页面中隐藏JavaScript注释
- JavaScript注释文档(JSDoc):@memberOf也应该指定“原型”
- 阅读 Javascript 注释
- 使用 Yuidoc 将 JavaScript 注释转换为 .chm 文件
- 关于javascript注释规范
- 在两个JavaScript注释之间替换代码
- 简单的Javascript注释表单
- javascript注释中全局关键字的用途是什么
- Visual Studio 2010 Javascript注释已停止工作
- 获取dust.js以剥离JavaScript注释
- 当用户在这个工作javascript注释框中提交注释时,您将如何添加用户图像和名称
- Javascript注释不起作用.无法注释掉注释
- Regex将JavaScript注释替换为Grails注释
- Vaadin-虽然我使用了JavaScript注释,但我的JavaScript库没有加载
- JavaScript注释编辑功能
- 我没有'我不理解这段类似Javascript注释的代码,有人能澄清一下吗
- Javascript注释和文档