In what scenarios would using regular expressions (regex) be more effective than strpos for searching complex patterns within lengthy strings in PHP?

Regular expressions (regex) are more effective than strpos for searching complex patterns within lengthy strings in PHP when the search pattern involves more than just a simple substring match. Regex allows for more advanced pattern matching using special characters and syntax, making it easier to find specific patterns within a string. Additionally, regex provides more flexibility and control over the search criteria compared to strpos.

// Example: Using regex to search for a specific email pattern within a lengthy string
$string = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Email me at john.doe@example.com for more information.";

$pattern = '/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/'; // Regex pattern for matching email addresses

if (preg_match($pattern, $string, $matches)) {
    echo "Email found: " . $matches[0];
} else {
    echo "Email not found";
}