I really don't understand regex at all, and it hurts my head.
I've a bit of t开发者_运维问答ext which looks like this
blah blah blah (here is the bit I'd like to extract)
...and I don't really understand how to extract this using PHP's preg_split, or equivalent, command.
How do I do this? And where's a good place to understand how preg works?
Something like this should do the trick, to match what is between (
and )
:
$str = "blah blah blah (here is the bit I'd like to extract)";
if (preg_match('/\(([^\)]+)\)/', $str, $matches)) {
var_dump($matches[1]);
}
And you'd get :
string 'here is the bit I'd like to extract' (length=35)
Basically, the pattern I used searches for :
- An opening
(
; but as ( has a special meaning, it has to be escaped :\(
- One or more characters that are not a closing parenthesis :
[^\)]+
- This being captured, so we can use it later :
([^\)]+)
- And this first (and only, here) captured thing will be available as
$matches[1]
- This being captured, so we can use it later :
- A closing
)
; here, too, it's a special character that has to be escaped :\)
<?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";
}
精彩评论