$re = '/href="(mydomain1\.com.*|site.ru.*|superdomen\.org\.ru.*)"|\[url\](mydomain1\.com.*|site.ru.*|superdomen\.org\.ru.*)\[\/url\]|\[url=(mydomain1\.com.*|site.ru.*|superdomen\.org\.ru.*)\].*\[\/url\]/im';
$str = 'sdf<a href="mydomain1.com/asdfa">asfd</a> asdasfd
asf<a href="site.ru/kdkdk">asdfds</a> asdfasdfadsf
asfdasf
[url]superdomen.org.ru/dlsdl[/url] asdfasfd
asfasfdasfd
[url=superdomen.org.ru/d]...[/URL] asdfas
sdfsfda';
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