正则表达式学习实例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之后通常都是标点符号
 
正则表达式学习实例1









本文转自 mcshell 51CTO博客,原文链接:http://blog.51cto.com/mcshell/348859,如需转载请自行联系原作者

上一篇:Android笔记(一) | Activity的生命周期


下一篇:关于asp:GridView和dx:ASPxGridView固定表头的jquery代码封装