如何解决Cannot open include file: 'regex.h': No such file or directory

如何解决Cannot open include file: 'regex.h': No such file or directory,第1张

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

网上找的一悔派悄节代码,原来的头文件是:

#include <stdio.h>

#include <regex.h>

我改为下面,还是不能通过编译,代码未改.谢谢!

#include "stdafx.h"

#include "stdio.h"

#include "regex.h"

int main()

{

regex_t r

regmatch_t match

char * s="aaaabbbccc", *t=s

char * replace="1"

char result[100]must big enough

size_t pos=0,len=strlen(replace)

memset(result,0,100)

regp(&r,"a+",REG_EXTENDED)

while(regexec(&r,t,1,&match,0)==0)

{

printf("start:%lld,end:%lld\n",t-s+match.rm_so,t-s+match.rm_eo)absolute position in string s

memcpy(result+pos,t,match.rm_so)first copy the string that doesn't match

pos+=match.rm_sochange pos

memcpy(result+pos,replace,len)then replace

pos+=len

t+=match.rm_eofor another match

}

memcpy(result+pos,t,strlen(t))don't fet the last unmatch string

printf("%s",result)that's all.

regfree(&r)

return 0

}

解析:

很显然你的这个regex.h头羡大文件没有找到,或者你根本都没有定义这个头文件.这个头文件中包括许多数据内型碧渣说明,而且你的主程序像这样regex_t r

regmatch_t match的数据声名显然是和regex.h头文件是相关的.

c++的正则表达式在regex头文件尘余扰纯中,【#include<regex>】

首先,正则表达式常用的字符匹配方法,需要记住的特殊字符有:

遇到的问题:accountID是14个数字组成的字符串,匹配以“80”结尾的accountID,不能直接用‘80$’和'[8][0]$',必须14个全部派李滚匹配才行,正确匹配模板为”[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][8][0]“。regex_match(accountID,r)需要accountID整个字符串与模板r匹配才会返回True.

不需引入

<码老regex.h>

c++11已迟渗升经封装了<regex>喊扮

即改为#include

<regex>即可


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12259800.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存