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

我有以下代码:

$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);

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

我正在寻找我将放在$regex中的东西,它将匹配第一个(和最后一个)之间的所有内容.

我很感激你的帮助.

提前致谢.

最佳答案 你可以用这个: –

'/\((.*)\)/s'

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

点赞