Regex-两个字符串之间的非贪婪文本

Regex-两个字符串之间的非贪婪文本,regex,Regex,我试图找到一个正则表达式,它可以在两个字符之间获取文本。示例如下: /***/ (function(module, exports) { xyz /***/ }), /***/ (function(module, exports) { abc /***/ }), 我想要的结果是“xyz”和“abc” 这是我提出的正则表达式,但它只看到1个结果 (\/\*\*\*\/ \(function\(module, exports\) \{)(.*)[\s\S]*\/\*\*\*\/ }

我试图找到一个正则表达式,它可以在两个字符之间获取文本。示例如下:

/***/ (function(module, exports) {
    xyz
/***/ }),
/***/ (function(module, exports) {
    abc
/***/ }),
我想要的结果是“xyz”和“abc”

这是我提出的正则表达式,但它只看到1个结果

(\/\*\*\*\/ \(function\(module, exports\) \{)(.*)[\s\S]*\/\*\*\*\/ }\),
提前感谢您的帮助。

作为第一个猜测

\(function\(module\,\ exports\)\ \{\s*([^\n]+)\s*\/\*
这是输出

--

以下是作为第一个猜测的输出

\(function\(module\,\ exports\)\ \{\s*([^\n]+)\s*\/\*
这是输出

--

这是输出

找到了解决办法。以上工作


找到了解决办法。上述方法有效。

函数(模块,导出){\n和
\n/***/}的可靠性如何?\n
?我要查找的结果保证介于/***/(函数(模块,导出){和/***/}之间,为了清楚起见(因为你自己找到了答案),你要查找的术语是“惰性匹配”。在正则表达式中,默认情况下,所有多选择器都是贪婪的。添加一个?之后呢?或者{1,7}?将匹配最小可行块以进行正匹配。
/***/(函数(模块,导出){\n
\n/***/}),\n
?我要查找的结果保证介于/***/(函数(模块,导出){和/***/}之间,为清楚起见(因为您自己找到了答案),您要查找的术语是“惰性匹配”。在正则表达式中,默认情况下,所有多选择器都是贪婪的。在它后面添加一个“*”或“{1,7}”将匹配最小可行片段以进行正匹配。这很好。我将其更新为使用:\/***\/(函数(模块\,\exports)\{\s*([^\n]+)\s*/***\/})\,这将查看完整的模式。如何使其忽略模式之间的空格?示例函数(模块,导出)....@user7886649这就是为什么我问固定件有多可靠。还有其他部分可以改变吗?当我在这里发布时,我修改它的正则表达式似乎没有被正确捕获。基于你原来的正则表达式,你能告诉我如何忽略模式中的空格吗?只是模式中的空格。抱歉误解。works就像一个符咒。现在我可以花一些时间来理解它。你是一个冠军!效果很好。我更新它使用:\/***\/(函数(模块\,\exports)\{\s*([^\n]+)\s*/***\/}),这看起来是完整的模式。我如何让它忽略模式之间的空格?示例函数(模块,导出)....@user7886649这就是为什么我问固定件有多可靠。还有其他部分可以改变吗?当我在这里发布时,我修改它的正则表达式似乎没有被正确捕获。基于你原来的正则表达式,你能告诉我如何忽略模式中的空格吗?只是模式中的空格。抱歉误解。wor我喜欢魅力。现在我可以花点时间去理解它。你是冠军!
(?s)\/\*\*\*\/\s\(function\(module,\ exports\)\s\{(.*?)\}\)\,