$re = '/((([\w]+\S)@([a-zA-Z]*)(?!.))|((\d)+@([a-zA-Z]{4}+0[a-zA-Z0-9]{6}+)+.+IFSC+.NPCI))/';
$str = 'anaghvj@yesbank.com
anaghvj@yesbank
123@yesbank
123@211.com
123.hdfc
123@HDFCBANK
anagh12@yesbank.com
123@ifsc.NPCI.UPI
1234
@dsds
sadasdsa.com
1234567@BARB0VNKOTA.IFSC.NPCI
12s2e3e@yebank.IFSC.NPCI
abnana@BARB0VNKOTA
';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php