$re = '/^(www.ibm.com\/(.*-.*|products)\/(dynamed-and-micromedex-with-watson|flexible-analytics|iconnect-enterprise-archive|iconnect-access|medication-essential-fact-sheets|merge-cardio|merge-hemo|merge-pacs|micromedex-carenotes|micromedex-content-api|micromedex-neofax-pediatrics|micromedex-red-book|micromedex-with-watson|orbitalrx|watson-assistant-health-benefits|watson-care-manager|watson-health-citizen-engagement))|(www.ibm.com\/(.*-.*|watson-health)\/(about|solutions)\/(social-program-management|micromedex))/m';
$str = 'www.ibm.com/products/flexible-analytics
www.ibm.com/products/watson-assistant-health-benefits
www.ibm.com/watson-health/about/micromedex
www.ibm.com/products/micromedex-with-watson
www.ibm.com/products/dynamed-and-micromedex-with-watson
www.ibm.com/products/orbitalrx
www.ibm.com/products/micromedex-content-api
www.ibm.com/products/micromedex-red-book
www.ibm.com/products/micromedex-carenotes
www.ibm.com/products/medication-essential-fact-sheets
www.ibm.com/products/micromedex-neofax-pediatrics
www.ibm.com/watson-health/solutions/social-program-management
www.ibm.com/products/watson-care-manager
www.ibm.com/products/watson-health-citizen-engagement
www.ibm.com/products/iconnect-enterprise-archive
www.ibm.com/products/iconnect-access
www.ibm.com/products/merge-hemo
www.ibm.com/products/merge-cardio
www.ibm.com/products/merge-pacs';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php