我真的根本不理解正则表达式,这让我很痛苦。
我有一些看起来像这样的文字
blah blah blah (here is the bit I'd like to extract)
...我真的不明白如何使用PHP的preg_split或等效的命令来提取它。
我该怎么做?什么是理解preg如何工作的好地方?
答案 0 :(得分:4)
这样的事情可以解决问题,以匹配(
和)
之间的内容:
$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)
基本上,我使用的模式搜索:
(
;但是(具有特殊含义,必须进行转义:\(
[^\)]+
([^\)]+)
$matches[1]
)
;在这里,它是一个必须被转义的特殊角色:\)
答案 1 :(得分:2)
<?php
$text = "blah blah blah (here is the bit I'd like to extract)";
$matches = array();
if(preg_match('!\(([^)]+)!', $text, $matches))
{
echo "Text in brackets is: " . $matches[1] . "\n";
}