【发布时间】:2013-09-14 19:05:46
【问题描述】:
我正在开发一个简单的 Ruby 程序,该程序应该计算包含实际 Java 代码的 Java 文件中的文本行数。该行即使包含 cmets 也会被计算在内,因此基本上只有 只是 cmets 的行不会被计算在内。
我正在考虑使用正则表达式来解决这个问题。我的程序将逐行迭代并将其与“正则表达式”进行比较,例如:
while line = file.gets
if line =~ regex
count+=1
end
end
不过,我不确定要使用哪种正则表达式格式。有什么想法吗?
【问题讨论】:
-
没那么简单。
/*评论可以跨越多行。 -
这是有道理的。在这种情况下,如果我有两个单独的正则表达式,其中一个可以检查评论是否跨越多行并相应地读取其他行,它会起作用吗?
-
请参阅stackoverflow.com/q/462843/897024 了解多行 cmets。
-
你会用 JRuby 吗?有大量可用的 Java 解析库,您可以通过这种方式更准确、更轻松地阅读 Java 源代码。