PHP/REGEX:在括号内获取一个字符串

Mac*_*cks 7 php regex preg-match-all preg-match

这是一个非常简单的问题,但我无法在任何地方找到解决方案.

我尝试使用preg_match或preg_match_all从括号内获取字符串,但没有括号.

到目前为止,我的表达式如下:

\([A-Za-z0-9 ]+\)
Run Code Online (Sandbox Code Playgroud)

并返回以下结果:

3(空心高亮)928-129(< - 原始字符串)

(空心高亮)(< - 结果)

我想要的是括号内的字符串,但没有括号.它看起来像这样:

镂空亮点

我之后可能用str_replace或其他东西替换括号,但这对我来说似乎不是一个非常优雅的解决方案.

我需要添加什么,所以括号不包含在结果中?

谢谢你的帮助,你们真棒!:)

Pio*_*ski 22

尝试:

preg_match('/\((.*?)\)/', $s, $a);
Run Code Online (Sandbox Code Playgroud)

输出:

Array
(
    [0] => (hollow highlight)
    [1] => hollow highlight
)
Run Code Online (Sandbox Code Playgroud)


And*_*ong 13

除了转义括号之外,您还需要添加捕获括号.

<?php
    $in = "hello (world), my name (is andrew) and my number is (845) 235-0184";
    preg_match_all('/\(([A-Za-z0-9 ]+?)\)/', $in, $out);
    print_r($out[1]);
?>
Run Code Online (Sandbox Code Playgroud)

这输出:

Array ( [0] => world [1] => is andrew [2] => 845 ) 
Run Code Online (Sandbox Code Playgroud)