正则表达式 – 使用sed从javascript文件中删除所有console.log
发布时间:2020-12-14 06:08:00 所属栏目:百科 来源:网络整理
导读:我试图从我的JS文件中删除所有我的console.log,console.dir等,然后用YUI(在osx上)缩小它. 我为控制台语句获得的正则表达式如下所示: console.(log|debug|info|warn|error|assert|dir|dirxml|trace|group|groupEnd|time|timeEnd|profile|profileEnd|count)(
我试图从我的JS文件中删除所有我的console.log,console.dir等,然后用YUI(在osx上)缩小它.
我为控制台语句获得的正则表达式如下所示: console.(log|debug|info|warn|error|assert|dir|dirxml|trace|group|groupEnd|time|timeEnd|profile|profileEnd|count)((.*));? 如果我用RegExr测试它就可以了. 为了让这个工作,我需要改变什么? sed 's/___???___//g' <$RESULT >$RESULT_STRIPPED 更新 得到第一个答案后我试过了 sed 's/console.log(.*);//g' <test.js >result.js 这是有效的,但是当我添加OR时 sed 's/console.(log|dir)(.*);//g' <test.js >result.js 它不会取代“日志”: 解决方法
你的原始表达看起来很好.对于扩展正则表达式,您只需将-E标志传递给sed:
sed -E 's/console.(log|debug|info|...|count)((.*));?//g' 在man re_format中解释了这些类型的正则表达式之间的区别.说实话,我从来没有读过那个页面,而只是在事情没有按预期工作时简单地使用-E. =) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |