I'd like to return string between two characters, @ and dot (.).
I tried to use regex but cannot find it working.
Your regular expression almost works, you just forgot to escape the period. Also, in PHP you need delimiters:
The s is the DOTALL modifier.
Here's a complete example of how you could use it in PHP:
$s = 'firstname.lastname@example.org'; $matches = array(); $t = preg_match('/@(.*?)\./s', $s, $matches); print_r($matches);
Try this regular expression:
[^.]* will match any number of any character other than the dot. And the plain dot needs to be escaped as it’s a special character.