Regression testing is usually functionally testing the application to insure it is still working as it was before fixes or updates were applied. So the answer to your question is " functional testing is a part of regression testing", but some groups may refer to them as two separate stages of the testing cycle.
selective retesting of a system or component to verify that modifications have not caused unintended effects and that the system or component still complies with its specified requirements [IEEE 90].
Some organizations use Negative Testing and Boundary Analysis Testing as part of the Functional Test cases. These are tests specifically designed to evaluate how the application reacts to unexpected values or actions. They are not usually included in the Regression Testing, as you are validating that normal functionality has not been negatively impacted. I agree with the others that the Regression Test is a subset of the Functional Test. Hope this helps.
Functional testing is testing the functionality of the system. The behaviour of the system, for example, what happens when a particular input is fed to the system, is tested. Functional testing almost exclusively uses validation techniques and inspects system behaviour. Individual components are functionally tested to see to it that it doesnt break and correctly processes the fed input.
The purpose of doing regression testing is to ensure that changes introduced to the system have no adverse impact on other parts of the application. The tester has to execute the full set of testcases to regression test the whole application if there are multiple changes that are introduced tthroughout the system.