CHtmlcodeIE IE; //实例化CHtmlcodeIE类对象IE
int idc_radio=GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO6);//获取抽取选项
switch(idc_radio)
{
case IDC_RADIO1:
m_Extraction=IE.DeleteScriptTag(m_Source);
break;
case IDC_RADIO2:
m_Extraction=IE.ExtractAllText(IE.DeleteScriptTag(m_Source));
break;
case IDC_RADIO3:
m_Extraction=IE.ExtractText(IE.DeleteScriptTag(m_Source));
break;
case IDC_RADIO4:
m_Extraction=IE.ExtractTextAImg(IE.DeleteScriptTag(m_Source));
break;
case IDC_RADIO5:
m_Extraction=IE.ExtractImg(IE.DeleteScriptTag(m_Source));
break;
case IDC_RADIO6:
m_Extraction=IE.ExtractTextA(IE.DeleteScriptTag(m_Source));
break;
default:
AfxMessageBox("请点击抽取选项");
break;
}
UpdateData(false);
}
void CBoostRegexDlg::OnCancel() //结束退出
{ CDialog::OnCancel(); }
4 结语
正则表达式强大的字符串模式匹配和替换能力在Web信息处理中有着广泛的应用。本文利用Boost.Regex正则表达式不仅简化了编程的复杂度,而且高效地实现了网页信息抽取。
参考文献
[1]杜冬梅,许彩欣,苏健.浅谈正则表达式在Web系统中的应用[J].计算机系统应用,2007,(6).
[2]程冲,黄水清.利用正则表达式解析新闻网页的算法研究[J].农业图书情报学刊,2005,17(4).
[3] Boost.Regex[OL].http://www.boost.org.2008. [4]曹光琦. Boost_Regex_C—正则表达式快速入门[J].程序员,2004,(4).
|