Most of my regex experience was in Perl, which i haven't used in a year or two, but my guesses would be something like:
<BLOCKQUOTE><font size="1"face="Geneva, Verdana, Arial">code:</font><HR><pre><font size=1 face=courier>
$var ~ m/\n\n([^\n]*)\n\n/;
$result = $<font color = blue>0</font>; <font color = brown>// or possibly $<font color = blue>1</font>, can't remember</font>
</font>[/code]
That will match any string that does not contain a newline, but which is preceded and followed by two newlines. I can't remember how you match all of them, rather than just one - figure that bit out yourself.
<BLOCKQUOTE><font size="1"face="Geneva, Verdana, Arial">code:</font><HR><pre><font size=1 face=courier>
$var ~ m/\n*([^\n]*)\n[^\n]/;
$result = $<font color = blue>0</font>; <font color = brown>// again, may be $<font color = blue>1</font></font>
</font>[/code]
This matches anything preceded by any number of newlines, and followed by a newline and a non-newline character. This fails to match when the final newline is the last character in the string, but it's early morning and i can't think straight. None of this code has been tested, so it's probably all a big pile of schite.
The last one is more complicated - you have to match several known strings, including http:, mailto:, ftp:,
www., *@*.*, etc.
Regular expressions can do an incredible amount of stuff, including everything you asked for, if you only know how to use them. What language are you using, anyway?