c++11中正则表达式的使用
来源:互联网 发布:上古卷轴5跳出优化补丁 编辑:程序博客网 时间:2024/06/06 04:55
环境:Ubuntu 15.10 QtCreator CMake c++
头文件 #include <regex>
regex_search:
std::regex pattern;pattern = "(HTTP/1\\.1|HTTP/1\\.0) \\d{3} [ \\-a-zA-Z]+\r\n(.+: .+\r\n)+\r\n"; test = "HTTP/1.1 200 OK\r\n" "Date: Thu, 24 Dec 2015 15:25:43 GMT\r\n" "Server: Apache/2.2.15 (CentOS)\r\n" "X-Powered-By: PHP/5.3.3\r\n" "Set-Cookie: PHPSESSID=ioa4vje3mm8t3utigst4rjgdk4; path=/\r\n" "Expires: Thu, 19 Nov 1981 08:52:00 GMT\r\n" "Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0\r\n" "Pragma: no-cache\r\n" "Content-Length: 22\r\n" "Connection: close\r\n" "Content-Type: text/html; charset=utf-8\r\n" "\r\n" "cannot connect server\r\n";if(regex_search(test, pattern)) cout << "successful" << endl; else cout << "failed" << endl;
regex_match:
std::regex pattern;pattern = "^((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])$"; test = "123.123.123.123";if(regex_search(test, pattern)) cout << "successful" << endl; else cout << "failed" << endl;
在使用过程中遇到的问题为换行符(\r\n)的匹配,找了一圈并没有找到有单行模式的选项,最后只能用regex_search来代替 regex_match的使用。
0 0
- 【C#】C#中正则表达式的使用
- C中使用正则表达式
- C++/C中使用轻量级的正则表达式
- 正则表达式的使用(C++)
- linux下的C中正则表达式的使用
- c++11中正则表达式的使用
- 在C语言中使用正则表达式的几个API
- C/C++中使用的正则表达式库
- 在c语言中使用正则表达式
- c语言中使用正则表达式
- C/C++中使用正则表达式
- C语言中使用正则表达式
- linux C 中使用正则表达式
- object C 中使用正则表达式
- object C 中使用正则表达式
- C语言中使用正则表达式
- c语言中使用正则表达式
- C语言中正则表达式如何使用
- 第九周 稀疏矩阵相加
- js遍历获取表格内数据方法
- 记一次计算机网络工程实验(1) 利用VLAN划分不同网段
- java instanceof 用法 对象转型(casting)
- SSDB开源 NoSQL 数据库
- c++11中正则表达式的使用
- 树形菜单的二叉链表实现--数据库实现(增删改存储过程实现)
- 一起talk C栗子吧(第八十五回:C语言实例--使用信号进行进程间通信二)
- QlikView+R(以iris数据作为案例)(一)
- HDU-1754 I Hate It(线段树)
- hdu3552I can do it!(贪心)
- Sql Server 向上取整,向下取整,四舍五入
- 151Reverse Words in a String
- dig安装