正则表达式处理html实例(Perl实现)
来源:互联网 发布:java 1.7.0 openjdk 编辑:程序博客网 时间:2024/06/07 04:52
1.Html中Tag提取
<("[^"]*"|'[^']*'|[^'">])*>
2.提取<a></a>标签中的url和链接文本
while ($Html =~ m{a\b([^>]+)>(.*?)</a>}ig){my $Guts = $1;my $Link = $2;if ($Guts =~ m{\b HREF#href属性\s* = \s*#两头可能出现空白符(?:#其值为"([^"]*)"#双引号字符串|'([^']*)'#单引号字符串|([^'">\s]+)#或者是其他文本)}xi){my $Url = $+;print "$Url with link text: $Link\n";}}
3.校验HTTP URL
把它分解为主机名(hostname)和路径(path)两部分。
主机名是「^http://」之后到第一个/(如果有)之间的内容,路径就是除此之外的内容
「^http://([^/]+)(/.*)?$」
if ($url =~ m{^http://([^/:]+)(:(\d+))?(/.*)?$}i){my $host = $1;my $port = $3 || 80; #如果存在就使用$3,否则默认为80my $path = $4 || "/"; #如果存在就使用$4,否则默认为”/“print "Host: $host\n";print "Port: $port\n";print "Path: $path\n";}else{print "Not an HTTP URL\n";}
4.从纯文本中查找URL的框架,可以在其中添加匹配主机名的子表达式
\b((ftp|https?)://[-\w]+(\.\w[-\w]*)+|(?i: [a-z0-9] (?:[-a-z0-9]*[a-z0-9])? \. )+(?-i: com\b| edu\b| biz\b| gov\b| in(?:t|fo)\b| mil\b| net\b| org\b| [a-z][a-z]\b))( : \d+ )?(/[^.!,?;"'<>()\[\]{}\s\x7F-\xFF]*(?:[.!,?]+ [^.!,?;"'<>()\[\]()\s\x7F-\xFF]+)+)?
来自《精通正则表达式》
- 正则表达式处理html实例(Perl实现)
- Perl正则表达式处理换行
- 一些日文处理的正则表达式(Perl)
- 正则表达式详解(Perl)
- 正则表达式详解(Perl)
- perl正则表达式(一)
- perl正则表达式(二)
- perl正则表达式(三)
- perl正则表达式(2)
- 正则表达式实例(.*?)
- 正则表达式相关:正则表达式处理html内容
- 实现正则表达式处理功能
- java正则表达式处理HTML标签
- perl学习日记9使用正则表达式处理文件
- Perl笔记:08、用正则表达式处理文…
- Perl语言学习笔记 9 正则表达式处理文本
- PHP中与Perl兼容的正则表达式处理函数
- PHP 正则表达式函数库(Perl 兼容)
- 【分享】Stanford Dataset全集之Web graphs
- Android开关机代码
- 解决Service Broker连接出错的问题
- 如何设置圆角的EditText——Android移动开发
- 排序系列 poj2379
- 正则表达式处理html实例(Perl实现)
- Android显示gif格式图片
- 认识smack中的基本对象 - Registration
- 2.4一元多项式的表示及相加
- 数论总结
- YII 上传一个图片
- VS2010命令行编译--常用命令
- CMap.NET中的CacheLocation
- Android实现win8磁铁效果