What are some best practices for using regular expressions in PHP, specifically for validating email addresses and URLs?

When validating email addresses and URLs using regular expressions in PHP, it is important to use patterns that accurately match the expected format while also considering edge cases. For email validation, the pattern should check for the presence of an "@" symbol and a valid domain extension. For URL validation, the pattern should account for different protocols (http, https, ftp) and valid domain formats. PHP code snippet for validating email addresses:

$email = "test@example.com";

if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo "Valid email address";
} else {
    echo "Invalid email address";
}
```

PHP code snippet for validating URLs:

```php
$url = "https://www.example.com";

if (filter_var($url, FILTER_VALIDATE_URL)) {
    echo "Valid URL";
} else {
    echo "Invalid URL";
}