preg_match 获取括号中的信息

发布于 2024-11-15 23:22:27 字数 270 浏览 1 评论 0原文

(ACCTG) 会计

上面的文字我试图获取括号中的信息,我将如何在 php 中做到这一点,这就是我到目前为止所拥有的。

$regex = '#\((([^()]+|(?R))*)\)#';
if (preg_match_all($regex, $string ,$matches)) {
    echo implode(' ', $matches[1]);
} else {
    //no parenthesis
    echo $string;
}

(ACCTG) Accounting

The text above I trying to get the information in the parentheses how would I do that in php this is what I have so far.

$regex = '#\((([^()]+|(?R))*)\)#';
if (preg_match_all($regex, $string ,$matches)) {
    echo implode(' ', $matches[1]);
} else {
    //no parenthesis
    echo $string;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

唔猫 2024-11-22 23:22:27

我将特殊字符转换为十六进制,以便于在我的正则表达式中使用

<?
$input = 'abc ("an example")';
if(preg_match("/\x28([^\x29]+)\x29/", $input, $matched)) { 
     //...         
    print_r($matched); 
} else { 
   //do something.. 
}
?>

I do converting special characters to hex for easy use in my regex's

<?
$input = 'abc ("an example")';
if(preg_match("/\x28([^\x29]+)\x29/", $input, $matched)) { 
     //...         
    print_r($matched); 
} else { 
   //do something.. 
}
?>
洋洋洒洒 2024-11-22 23:22:27

这还不够吗:

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

Wouldn't this be sufficient:

\(([^\)]*)\).*
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文