【发布时间】:2021-09-26 22:22:18
【问题描述】:
所以现在我可以隔离我的代码中的每个 JSDoc (ish) 块,例如我在这里有这个块
/// @tag {type} name description
/// description continue
/// another description line
/// @tag {type} name description
/// description continue
/// @tag name description just one line.
/// @tag {type} name
我想使用正则表达式来匹配块内的每个标签一个标签需要有@name格式然后它可以有一个类型{type}(可选)然后它需要一个name最后它可以有描述..描述可以是多行或单行(也是可选的)。所以
我想出的正则表达式是:
^\/{3} @(?<tag>\w+)(?:[ \t]+{(?<type>.*)})?(?:[ \t]+(?<name>\w+))(?:[ \t]+(?<desc>[\s\S]*))?
我的问题在于,一旦我点击描述,它就不会在下一个标签的开头停止...我感觉现在我正在使用一种贪婪的方法,但我找不到等着让它不贪心。
所以上面的例子匹配:
标签:tag
姓名:name
说明:
description
/// description continue
/// another description line
/// @tag {type} name description
/// description continue
/// @tag name description just one line.
/// @tag {type} name
我希望描述在新标签开始或块结束时停止
【问题讨论】:
标签: javascript regex jsdoc