如何匹配两个字符串之间的所有字符(尽可能少)?

How to match all characters (as few as possible) between two strings?

我正在尝试编写一个正则表达式来匹配以 (* 开头并在第一次出现 *)

时结束的注释

(* comment *)

从关于括号之间匹配的堆栈溢出的其他帖子中,我整理了以下正则表达式。

\(\*(([^*\)])*)\*\)

只要评论中没有 *) 个字符,此方法就有效。但是,我想在评论中允许这些字符,只要它们不相邻即可。

以下均为有效评论。

(*****)

(*()*)

(*)(*()**)

一个值得注意的无效评论是

(*)

我尝试了一些使用前瞻的方法,但无济于事。将不胜感激指向正确方向的指示。

试试这个

匹配包含左括号后跟任何字符任意次数后跟右括号的任何字符串

\(\*.+\*\)