使用正则表达式提取方括号中的所有内容
我真的一点也不懂正则表达式,它让我头疼。
我有一些文本,如下所示
blah blah blah (here is the bit I'd like to extract)
...我真的不知道如何使用PHP的preg_plit或类似的命令来解压缩它。
我该如何执行此操作?哪里是了解孕激素如何工作的好地方?
解决方案
这样的代码应该会起作用,以匹配(
和)
之间的内容:
$str = "blah blah blah (here is the bit I'd like to extract)";
if (preg_match('/(([^)]+))/', $str, $matches)) {
var_dump($matches[1]);
}
您将得到:
string 'here is the bit I'd like to extract' (length=35)
基本上,我使用的模式搜索:
- 开头
(
;但as(有特殊含义,必须转义:(
- 一个或多个不是右括号的字符:
[^)]+
- 这将被捕获,因此我们可以稍后使用:
([^)]+)
- 第一个(仅在此处)捕获的内容将以
$matches[1]
的形式提供
- 这将被捕获,因此我们可以稍后使用:
- 结束
)
;这里也是一个必须转义的特殊字符:)
相关文章