我对正则表达式相当新,经过几个小时的努力,我想要实现的目标似乎不可能。我找不到类似的问题,所以这就是我提出一个单独的问题的原因;如果已经有这样的问题,请原谅。
现在。我希望在整个文档中匹配正则表达式的每个匹配项;事件跨越多行。这是一个例子:
// 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\?)