C++正则表达式

hzg392622955 2013-10-29 03:09:27

CAtlRegExp<> reUrlPort;
CAtlREMatchContext<> mcUrlPort;
memset(m_strEditText, NULL, 32);
::GetDlgItemText(this->m_hWnd,IDC_EDIT_EMAILPORT,m_strEditText,32);
reUrlPort.Parse("[\\d]{1,5}");
if (!reUrlPort.Match(m_strEditText,&mcUrlPort)&&(m_strEditText != NULL))
{
//MessageBox("请输入正确的端口号!","提示",MB_OKCANCEL );
::SetDlgItemText(this->m_hWnd,IDC_EDIT_EMAILPORT,NULL);
GetDlgItem(IDC_EDIT_EMAILPORT)->SetFocus();
}

请各位大神帮我看看为什么在C++中使用正则表达式的时候不能匹配数字
...全文
134 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
derekrose 2013-11-04
  • 打赏
  • 举报
回复
c++的正则表达式什么时候有[]了。。。 这个在c++里面是访问array的
hzg392622955 2013-11-04
  • 打赏
  • 举报
回复
我明白了是怎么回事,atl正则表达式有自己的语法规范,与现在流行的正则表达式语法规范有区别,所以到时无法匹配
taodm 2013-11-02
  • 打赏
  • 举报
回复
[\\d]你从哪学来的?你确信这真是正确的?
hzg392622955 2013-11-02
  • 打赏
  • 举报
回复
匹配0到99999的所有数字
hzg392622955 2013-11-02
  • 打赏
  • 举报
回复
没错啊,转义字符前面要加一个“\”啊,我还测试了的
赵4老师 2013-10-31
  • 打赏
  • 举报
回复
reUrlPort.Parse("\\d{1,5}"); ?
hzg392622955 2013-10-31
  • 打赏
  • 举报
回复
各位帮我看看什么问题啊

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧