解析注释的VB代码

时间:2016-12-12 18:53:46

标签: javascript regex node.js

我正在制作一个小型NodeJS应用程序,它可以针对大型代码库运行,以检测代码注释中的某些单词。我无法将使用单引号*.vb的{​​{1}}文件的注释语法可靠地匹配为评论。

这是我到目前为止的正则表达式,这是不完美的:'

测试页面:https://regex101.com/r/V0CHV2/4

棘手的部分不匹配字符串中的单引号。这是我的测试用例。

^(?:[^"]+)'(.+)$

2 个答案:

答案 0 :(得分:3)

我提出了这个变种:

^(?:(?:"(?:\\"|[^"])*")|[^"'])*\s*'+\s*(.*)

请注意,使用纯正则表达式为这类东西编写解析器可能很困难。这似乎extract the content正确。

这可以解释这样的情况:

func("This is \"Bob's\" string") ''' Comment!

重要的是不要在\"之类的东西上绊倒,因为它实际上不是字符串的结尾。

答案 1 :(得分:1)

我会用\s*'[^"\n]*("[^"\n]*"[^"\n]*)*$给出一个镜头。您可以在regex101.com with your sample

上看到正则表达式