【发布时间】:2020-06-02 18:02:29
【问题描述】:
找不到任何可用的 RegExp 示例来匹配文本文件中的所有 jsDoc 注释块。
基本上,它需要找到所有满足以下规则的块:
- 以
/**开头,后跟一个或多个换行符 - 以
*/结尾 - 块内可以包含任何内容,包括代码示例和 HTML。
我尝试了jsdoc-regex的代码,但没有成功:
/[^\S\r\n]*\/(?:\*{2})([\W\w]+?)\*\/([\W\w]+?)?(?=\s+\/\*{1,2}|$)/g;
注意:
我正在解析通用文本文件,不一定是 JavaScript,所以我不能使用像 Esprima 这样的 JS 解析器。
更新:
为了改写我的问题,我一直在尝试定义一个 RegEx 规则,该规则说表达式必须以 */ 结尾,而在它之前可以有任何东西(在块内),即在这种情况下意味着任何东西除了*/之外的任何东西。
解决方案:
【问题讨论】:
-
你能用像esprisima这样的js解析器吗?
-
@DanielA.White 不,我不能为此使用其他解析器,我只能在我的示例中使用 RegExp,它是通用的,并且可以有效地匹配任何内容。 jsDoc 只是我遇到的一个例子。
-
你能告诉我们更多你尝试过的东西吗?似乎您希望有人会给您答案,而不是尝试学习 RegExp 并尝试实现您自己的。这不是这个网站的目的。
-
@EzequielMuns 我从一开始提供的链接中复制了正则表达式。这就是我尝试过的方法,但没有奏效。
标签: javascript regex jsdoc