正则表达式匹配两个不同字符第一次出现和最后一次出现之间的所有内容

Obi*_*ill 4 php regex

我有以下代码:

$str_val = "L(ine 1(
    L(ine 2)
    Line 3
    Line 4)";
$regex = '/\(([^\)]*?)\)/i';
preg_match($regex, $str_val, $matches_arr);
print_r($matches_arr);
Run Code Online (Sandbox Code Playgroud)

此代码匹配第一个(和第一个之间的所有内容)

我正在寻找我要放入的内容$regex来匹配第一个(和最后一个之间的所有内容)

我将不胜感激的帮助。

提前致谢。

Roh*_*ain 5

您可以使用这个:-

'/\((.*)\)/s'
Run Code Online (Sandbox Code Playgroud)

/s修饰符用于使点元字符能够匹配包括换行符在内的所有内容。并且,由于.*是一个贪婪量词,因此它将匹配尽可能长的字符串。因此,它将匹配到最后一个)