$re = '/(?<!(href="))(?<!(\/\/EN" "))(?<!(xmlns="))(?<!(\* ))(?<!(xmlns:xsd="))(?<!(namespace="))(?<!(itemtype="))http:\/\/+/';
$str = 'You may also want to exclude searching these files.
-*.po|-*.txt|-*.md|-*.pot|-*.pdf|-*.jpg|-*.png|-*.gif
Note: "|" is used with GrepWin, use "," for Sublime
---
http://
https://
<script src="http://site.com/script.js"></script>
<script src="https://site.com/script.js"></script>
<script>
srcHttp = \'http://mysite.com/custom.js\';
srcHttps = \'https://mysite.com/custom.js\';
</script>
<a href="http://site.com">link</a>
<a href="https://site.com">link</a>
/*
* http://link.com
* https://link.com
*/
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org...">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org...">
<html xmlns="http://www.w3.org/1999/xhtml">';
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