What are the advantages and disadvantages of using preg_match() for extracting data from email content in PHP?

When extracting data from email content in PHP, using preg_match() can be advantageous because it allows for flexible pattern matching to extract specific information from the email body. However, it can also be complex and error-prone if the regular expressions used are not carefully crafted. Additionally, it may not be the most efficient solution for all cases, especially if the email content is highly structured and can be parsed using simpler methods like string manipulation or built-in functions.

// Example code snippet using preg_match() to extract email addresses from email content

$email_content = "Hello, please reply to john.doe@example.com for more information.";

$pattern = '/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/';
preg_match($pattern, $email_content, $matches);

if (!empty($matches)) {
    $email_address = $matches[0];
    echo "Extracted email address: $email_address";
} else {
    echo "No email address found in the email content.";
}