摘 要 正则表达式是一种用于字符串模式匹配和替换的强有力工具。介绍了在VC++中如何配置Boost.Regex,实现基于正则表达式网页信息抽取类CHtmlcodeIE,从而完成了网页信息高效抽取。
关键词 正则表达式;Boost.Regex;网页;信息抽取;VC++
1 引言
正则表达式由美国数学家Stephen Kleene于1956年提出,主要用于描述正则集代数。正则表达式是按照一定的语法组成的文字模式,它有普通字符集和元字符组成,描述了待搜索字符串的匹配模式,是一种用于字符串模式匹配和替换的强有力的工具。其可以应用在Linux、Unix、Windows等多种操作系统中,几乎所有的语言Perl、PHP、C#、C++、Java、JavaScript等都支持正则表达式。
正则表达式最基本的三种功能:匹配、替换和提取。使用匹配功能,可以把特殊字符串表达式与数据文件、Web页面的表达输入等目标对象进行比较,根据比较结果,执行相应的程序,如信用卡、银行卡、身份证、Email数据格式合法性检测等。替换文本功能用于在文档中使用匹配模式来标识特定文字,然后将其删除或进行替换,如删除网页脚本、注释语、SQL Injection注入式攻击代码等。提取字符串功能用于根据模式匹配,从字符串中提取一个子字符串,如提取网页中的图片、超链接、文本等。本文主要介绍了在VC++中如何配置Boost.Regex,实现了基于正则表达式网页代码信息抽取类CHtmlcodeIE,从而完成了网页信息高效抽取。
2 正则表达式
2.1 Boost.Regex安装与配置
Boost是C ++ 标准委员会库工作组发起的一套开放源代码的、可移植的、基于模版的C++ 库。Boost.Regex是Boost库中的一部分,是一个使用泛型技术开发的C++正则表达式库。要使用Boost库,需要做如下配置。
(1)下载:从Boost的官方网站http ://www.boost.org下载Boost库boost_1_35_0.rar。
(2)解压:解压boost_1_35_0.rar到E盘boost目录下。
|