正则表达式学习实例1

将文本中的MAIL和HTTP URL转化为链接形式
      
$hostnameregex = qr/[-a-z0-9]+(\.[-a-z0-9]+)*\.(com|cn|info)/i;#设置其中匹配URL的文本变量
chomp($text=<STDIN>);#接收用户输入的一行文本,并且去掉$text尾行的换行
$text =~ s{    #将mail转化为链接形式
\b
#把地址保存到$1中
(
    \w[-.\w]*
     \@
    $hostnameregex

)
\b
}{<a href="mailto:$1">$1</a>}gix;#g表示全文搜索 i表示忽略大小写 x表示修饰符,使表达书更容易理解
print "this    is    $text \n";
chomp($text1=<STDIN>);
#将html地址转化为链接形式
$text1 =~ s{
\b
(
    http://$hostnameregex \b
    (
                        /[-a-z0-9_:~!@#$%^&*]*#path不一定会出现
            (?<![!.?])#不能以[.,!?]出现
)?

)
}{<a href="$1">$1</a>}gix;
print "this is url $text1 \n";


 
小提示:URL可以看成是 http://hostname/path形式
path之后没有\b,因为URL之后通常都是标点符号
 

你可能感兴趣的:(正则表达式,学习,perl,实例,休闲)