找不到任何可用的RegExp示例来匹配文本文件中的所有jsDoc注释块。基本上,它需要找到满足以下规则的所有块:以/**开头,然后是一个或多个换行符以*/结尾在该块中可以包含任何内容,包括代码示例和HTML。我尝试了jsdoc-regex中的代码,但是没有用:/[^\S\r\n]*\/(?:\*{2})([\W\w]+?)\*\/([\W\w]+?)?(?=\s+\/\*{1,2}|$)/g;注意:我正在解析通用文本文件,不一定是JavaScript,所以我不能使用Esprima之类的JS解析器。更新:改写我的问题,我一直试图定义一个RegEx规则,该规则表示表达式必须以*/结尾,而在它之前可以有任何内容(在该块内),即,在这种情况下,任何表示除。解:感谢您@ m93a的回答,他的实现已成为decomment,选项ignore的重要补充。 (adsbygoogle = window.adsbygoogle || []).push({}); 最佳答案 建立表达:教程/ / –空表达式/ \/\*\* / –匹配/**(转义)/ \/\*\* \s*\n / –后跟换行符(空格字符可能在前面)/ \/\*\* \s*\n \*\/ / –匹配*/(转义)/ \/\*\* \s*\n ( ) \*\/ / –添加组/ \/\*\* \s*\n ( [^\*] ) \*\/ / –该组可以包含除*以外的任何内容/ \/\*\* \s*\n ( [^\*] | ( ) ) \*\/ / –或其他组/ \/\*\* \s*\n ( [^\*] | ( \* ) ) \*\/ / –有一个*/ \/\*\* \s*\n ( [^\*] | ( \* (?!\/) ) ) \*\/ / –但是后面没有// \/\*\* \s*\n ( [^\*] | ( \* (?!\/) ) ) * \*\/ / –重复整个过程/\/\*\*\s*\n([^\*]|(\*(?!\/)))*\*\// – Tadaa!美丽,不是吗? (adsbygoogle = window.adsbygoogle || []).push({});