I would like to be able to extract a number from within a string formatted as follows:
\"<[1085674730]> hello foo1, how are you doing?\"
I\'m a novice wit
Combine Mathews post with lookarounds http://www.regular-expressions.info/lookaround.html. This will exclude the prefix and suffix.
(?<=<\[)\d+(?=\]>)
I didn't test this regex but it should be very close to what you need. Double check at the link provided.
Hope this helps!
Use:
<\[(\d+)\]>
This is tested with ECMAScript regex.
It means:
\[
- literal [(
- open capturing group\d
- digit+
- one or more)
- close capturing group\]
- literal ]The overall functionality is to capture one or more digits surrounded by the given characters.
$subject = "<[1085674730]> hello foo1, how are you doing?";
preg_match('/<\[(\d+)\]>/', $subject, $matches);
$matches[1]
will contain the number you are looking for.
Use:
/<\[([[:digit:]]+)\]>/
If your implementation doesn't support the handy [:digit:]
syntax, then use this:
/<\[([\d]+)\]>/
And if your implementation doesn't support the handy \d
syntax, then use this:
/<\[([0-9]+)\]>/