正则表达式匹配代码注释

时间:2011-11-08 22:17:34

标签: php regex netbeans

我有一堆文件对netbeans有评论,我使用netbeans来替换匹配某个正则表达式模式的字符串,我迷失了它。评论在下面有以下模式。

import static java.util.Arrays.*;
/* 178 */     int h = 8;
/* 179 */     int d = 8;
/* 180 */     int j = 8;
/* 181 */     int a = 6;
/*     */   

我尝试使用[\\\*\d+\*\/]删除了评论和内部数字,但它也删除了变量分配后的数字,即删除了8中的int h = 8;并删除了{导入声明中的{1}}。

请帮助,告诉我我做错了什么,我只需要删除带有数字和空格的注释。谢谢。

它使用与PHP的*

相同的正则表达式模式

2 个答案:

答案 0 :(得分:1)

取出括号。他们创建了一个字符类,这意味着删除了任何*/\+或数字。

答案 1 :(得分:1)

我认为你应该使用以下正则表达式:

/\/\*\s*\d*\s*\*\//

(它' s \ d *而不是\ d +只是因为我在你的例子中注意到了空白的评论)

实际上,如果我使用的是preg_replace,那么为了提高可读性,我会使用以下内容:

$str = preg_replace('%/\*\s*\d*\s*\*/%U', '', $str);

请注意,对于preg_replace(),我添加了U修饰符,它会关闭"贪婪"。我不确定如何在Netbeans中这样做。