PHP preg_replace string – 括号内的内容

标签 php regex preg-replace

我正在努力理解 PHP preg_replace,想知道您是否可以提供任何指导,说明如何弄清楚如何将单词保留在括号内但从该字符串中删除其他所有内容:

Events (Road)

所以它会返回:

Road

我渴望学习,所以不仅需要答案,还需要了解它是如何实现的。

我知道如何删除括号(和括号)内的单词:

trim(preg_replace('/\s*\([^)]*\)/', '', 'Events (Road)')

干杯, R

最佳答案

一种方法是捕获括号内的字符,然后用它替换其他所有字符。 $1 是对第一个捕获组 () 的反向引用:

preg_replace('/.*\(([^)]*)\)/', '$1', 'Events (Road)');

Regular expression visualization

Debuggex Demo

关于PHP preg_replace string – 括号内的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31271687/

相关文章:

带有断行的数据库的php回显

javascript - 脚本小子用这个片段淹没了我的网站

java - sed: 1: "./.classpath": 无效的命令代码。错误。有什么问题吗?

java - 在未转义的空间拆分

php - MySQL/PHP preg_replace 和 KEEP 重音符号和空格

php - 如何从 php 中的字符串中删除像这样的特殊字符

php - 抓取 Xbox Live 成员(member)当前事件

php - 如何为 Laravel Mass updateOrCreate() 准备 PHP 多维数组?

regex - R/regex with stringi/ICU : why is a '+' considered a non-[:punct:] character?

php - 使用 preg_replace_callback() 从 HTML 字符串中提取所有图像