$re = '/b\.\s(\d{4})/';
$str = '21 Apr 1789 - 4 Mar 1797 John Adams (b. 1735 - d. 1826) Fed
4 Mar 1797 - 4 Mar 1801 Thomas Jefferson (b. 1743 - d. 1826) D-R
4 Mar 1801 - 4 Mar 1805 Aaron Burr (b. 1756 - d. 1836) D-R
4 Mar 1805 - 20 Apr 1812 George Clinton (b. 1739 - d. 1812) D-R
4 Mar 1813 - 23 Nov 1814 Elbridge Gerry (b. 1744 - d. 1814) D-R
4 Mar 1817 - 4 Mar 1825 Daniel D. Tompkins (b. 1744 - d. 1825) D-R
4 Mar 1825 - 28 Dec 1832 John Caldwell Calhoun (b. 1782 - d. 1850) Dem
4 Mar 1833 - 4 Mar 1837 Martin van Buren (b. 1782 - d. 1862) Dem
4 Mar 1837 - 4 Mar 1841 Richard Mentor Johnson (b. 1780 - d. 1850) Dem
4 Mar 1841 - 4 Apr 1841 John Tyler (b. 1790 - d. 1862) Whg
4 Mar 1845 - 4 Mar 1849 George Mifflin Dallas (b. 1792 - d. 1864) Dem ';
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