我正在使用正则表达式使用#include <regex.h>
如果我有一个字符串s,如何使用正则表达式来搜索模式p?如何使用正则表达式从C++字符串中提取字符串
0
A
回答
4
#include <regex.h>
#include <iostream>
#include <string>
std::string
match(const char *string, char *pattern)
{
// Adapted from:
http://pubs.opengroup.org/onlinepubs/009695399/functions/regcomp.html
int status;
regex_t re;
regmatch_t rm;
if (regcomp(&re, pattern, REG_EXTENDED) != 0) {
return "Bad pattern";
}
status = regexec(&re, string, 1, &rm, 0);
regfree(&re);
if (status != 0) {
return "No Match";
}
return std::string(string+rm.rm_so, string+rm.rm_eo);
}
int main(int ac, char **av) {
// e.g. usage: ./program abcdefg 'c.*f'
std::cout << match(av[1], av[2]) << "\n";
}
+0
这是在Visual Studio中工作吗? – jjxtra 2013-01-25 20:42:02
1
检查http://msdn.microsoft.com/en-us/library/bb982821.aspx,具有详细的正则表达式使用模式。来自MS vc博客。
const regex r("[1-9]\\d*x[1-9]\\d*");
for (string s; getline(cin, s);) {
cout << (regex_match(s, r) ? "Yes" : "No") << endl;
}
+3
详细说明了'
相关问题
- 1. 正则表达式从字符串中提取子字符串
- 2. 如何使用正则表达式从字符串中提取子字符串?
- 3. 如何使用正则表达式从字符串中提取子字符串?
- 4. 从大字符串提取字符串oracle正则表达式
- 5. 使用正则表达式从字符串中提取字
- 6. 使用正则表达式从字符串中提取字
- 7. 如何提取从字符串值使用正则表达式
- 8. 使用正则表达式从字符串中提取字符串
- 9. 提取字符串正则表达式
- 10. 正则表达式提取字符串
- 11. 正则表达式提取字符串
- 12. 使用正则表达式从字符串中提取
- 13. 使用正则表达式从字符串中提取标签
- 14. 使用正则表达式从字符串中提取ICCID
- 15. 使用正则表达式从字符串中提取数据
- 16. 使用正则表达式从字符串中提取值
- 17. 使用javascript正则表达式从字符串中提取URL
- 18. 如何从字符串中提取数据正则表达式
- 19. 如何从字符串中提取正则表达式
- 20. 如何从正则表达式中提取字符串?
- 21. C#,提取使用正则表达式或字符串分割
- 22. 如何使用正则表达式提取字符串
- 23. 如何使用正则表达式提取字符串?
- 24. 如何使用正则表达式来提取子字符串?
- 25. 从正则表达式的字符串中提取数字
- 26. 正则表达式从字符串中提取数字
- 27. 从字符串的正则表达式中提取数字
- 28. 如何使用正则表达式从字符串中提取某个数字?
- 29. 使用正则表达式从字符串提取信息
- 30. 使用正则表达式从一个字符串中提取字符python
哪个regex.h? Unix的?您应该更好地指定它,因为它不是标准的C++或C标头。 – 2011-05-04 00:43:23
我只是使用已经存在的那个,所以默认情况下,无论如何。我在OSX中,它基本上与Linux相同。 – neuromancer 2011-05-04 00:50:26
你的编译器和操作系统是什么?无论如何,如果你想跨平台和交叉编译器兼容性和一个很好的面向对象接口,我建议尝试Boost.Regex。 http://www.boost.org/doc/libs/1_46_1/libs/regex/doc/html/index.html – 2011-05-04 00:51:27