Click here to Skip to main content
15,881,882 members
Articles / Desktop Programming / MFC

Adding Regular Expressions to Your App with Regex++

Rate me:
Please Sign up or sign in to vote.
4.67/5 (20 votes)
17 Jun 2002CPOL10 min read 433.9K   3.1K   93  
A tutorial to demonstrate adding regular expressions to your project using Regex++ from boost.org.
// RegexTestDlg.h : header file
//

#if !defined(AFX_REGEXTESTDLG_H__64087A21_BC47_4369_8513_24DEA857B3DC__INCLUDED_)
#define AFX_REGEXTESTDLG_H__64087A21_BC47_4369_8513_24DEA857B3DC__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <boost/regex.hpp>
#include <string>
#include <vector>

/////////////////////////////////////////////////////////////////////////////
// CRegexTestDlg dialog

class CRegexTestDlg : public CDialog
{
// Construction
public:
	void OnOK();
	CRegexTestDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	//{{AFX_DATA(CRegexTestDlg)
	enum { IDD = IDD_REGEXTEST_DIALOG };
	CEdit	m_typeEdit;
	CEdit	m_mainEdit;
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CRegexTestDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	BOOL GetActualType(const char* line, char* type);
	void GetValue(char* key, const char* str, char* val);
	BOOL ParseFile(CString filename);
	HICON m_hIcon;

	// Generated message map functions
	//{{AFX_MSG(CRegexTestDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnButtonTryIt();
	afx_msg void OnButtonBrowse();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_REGEXTESTDLG_H__64087A21_BC47_4369_8513_24DEA857B3DC__INCLUDED_)

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
United States United States
Matt Long is the Director of Technology for Skye Road Systems, Inc. in Colorado Springs, Colorado. He provides software architecture consulting services to small businesses. To contact Matt ( perlmunger ) send an email to matt@skyeroadsystems.com.

Comments and Discussions