What are the key differences or nuances to consider when using regular expressions in PHP for different formats or patterns?

When using regular expressions in PHP for different formats or patterns, it is important to consider the specific syntax and rules that apply to each pattern. For example, when matching email addresses, you need to account for the structure of an email address including the "@" symbol and domain extension. Similarly, when matching phone numbers, you need to consider variations in formatting such as different country codes or separators.

// Example: Matching email addresses
$email = "example@email.com";
if (preg_match("/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/", $email)) {
    echo "Valid email address";
} else {
    echo "Invalid email address";
}

// Example: Matching phone numbers
$phone_number = "+1-555-555-5555";
if (preg_match("/^\+\d{1,3}-\d{3}-\d{3}-\d{4}$/", $phone_number)) {
    echo "Valid phone number";
} else {
    echo "Invalid phone number";
}