正则表达式匹配多个条目,跨越多行

时间:2018-04-12 17:58:39

标签: javascript regex

我对正则表达式相当新,经过几个小时的努力,我想要实现的目标似乎不可能。我找不到类似的问题,所以这就是我提出一个单独的问题的原因;如果已经有这样的问题,请原谅。

现在。我希望在整个文档中匹配正则表达式的每个匹配项;事件跨越多行。这是一个例子:

// javascript.js

/**
 * #start?
 * @name myFunction(p1)
 * @desc Description of the function
 * @param p1 : int = Parameter of type int
 * ...
 * #end?
 */
function myFunction(p1) { ... }

/**
 * #start?
 * @name yourFunction()
 * @desc Description of the function
 * ...
 * #end?
 */
function yourFunction() { ... }

使用正则表达式,我想匹配描述函数的注释部分,从#start?#end?。因此,我希望有2个匹配的出现 - 第一个函数的描述和第二个函数的描述。

我附带的内容是(#start\?)[\s\S]+(#end\?),但您可以猜测它与第一个#start?匹配,并使用第二个 #end?

如何使其与所有类似的评论部分匹配为单独出现?

非常感谢你的时间!

更新/溶液
正如WiktorStribiżew指出的那样 - 懒惰!=贪婪此案例的工作正则表达式为(#start\?)[\s\S]+?(#end\?)

0 个答案:

没有答案